1 | */* Inline functions to return unsigned integer values unchanged.* |

2 | * Copyright (C) 2017-2020 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 | * <https://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 | |