1    	/* Inline functions to return unsigned integer values unchanged.
2    	   Copyright (C) 2017 Free Software Foundation, Inc.
3    	   This file is part of the GNU C Library.
4    	
5    	   The GNU C Library is free software; you can redistribute it and/or
6    	   modify it under the terms of the GNU Lesser General Public
7    	   License as published by the Free Software Foundation; either
8    	   version 2.1 of the License, or (at your option) any later version.
9    	
10   	   The GNU C Library is distributed in the hope that it will be useful,
11   	   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   	   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   	   Lesser General Public License for more details.
14   	
15   	   You should have received a copy of the GNU Lesser General Public
16   	   License along with the GNU C Library; if not, see
17   	   <http://www.gnu.org/licenses/>.  */
18   	
19   	#if !defined _NETINET_IN_H && !defined _ENDIAN_H
20   	# error "Never use <bits/uintn-identity.h> directly; include <netinet/in.h> or <endian.h> instead."
21   	#endif
22   	
23   	#ifndef _BITS_UINTN_IDENTITY_H
24   	#define _BITS_UINTN_IDENTITY_H 1
25   	
26   	#include <bits/types.h>
27   	
28   	/* These inline functions are to ensure the appropriate type
29   	   conversions and associated diagnostics from macros that convert to
30   	   a given endianness.  */
31   	
32   	static __inline __uint16_t
33   	__uint16_identity (__uint16_t __x)
34   	{
35   	  return __x;
36   	}
37   	
38   	static __inline __uint32_t
39   	__uint32_identity (__uint32_t __x)
40   	{
41   	  return __x;
42   	}
43   	
44   	static __inline __uint64_t
45   	__uint64_identity (__uint64_t __x)
46   	{
47   	  return __x;
48   	}
49   	
50   	#endif /* _BITS_UINTN_IDENTITY_H.  */
51