modernc.org/cc@v1.0.1/v2/headers/linux_arm/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h (about)

     1  /* Macros to swap the order of bytes in 16-bit integer values.
     2     Copyright (C) 2012-2016 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  #ifndef _BITS_BYTESWAP_H
    20  #error "Never use <bits/byteswap-16.h> directly; include <byteswap.h> instead."
    21  #endif
    22  
    23  #ifdef __GNUC__
    24  #define __bswap_16(x) \
    25      (__extension__							      \
    26       ({ unsigned short int __bsx = (unsigned short int) (x);		      \
    27         __bswap_constant_16 (__bsx); }))
    28  #else
    29  static __inline unsigned short int __bswap_16(unsigned short int __bsx)
    30  {
    31  	return __bswap_constant_16(__bsx);
    32  }
    33  #endif