github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xkbcommon/include/X11/Xarch.h (about)

     1  #ifndef _XARCH_H_
     2  # define _XARCH_H_
     3  
     4  /*
     5   * Copyright 1997 Metro Link Incorporated
     6   *
     7   *                           All Rights Reserved
     8   *
     9   * Permission to use, copy, modify, distribute, and sell this software and its
    10   * documentation for any purpose is hereby granted without fee, provided that
    11   * the above copyright notice appear in all copies and that both that
    12   * copyright notice and this permission notice appear in supporting
    13   * documentation, and that the names of the above listed copyright holder(s)
    14   * not be used in advertising or publicity pertaining to distribution of
    15   * the software without specific, written prior permission.  The above listed
    16   * copyright holder(s) make(s) no representations about the suitability of
    17   * this software for any purpose.  It is provided "as is" without express or
    18   * implied warranty.
    19   *
    20   * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
    21   * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
    22   * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
    23   * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
    24   * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
    25   * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
    26   * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    27   */
    28  
    29  
    30  /*
    31   * Determine the machine's byte order.
    32   */
    33  
    34  /* See if it is set in the imake config first */
    35  # ifdef X_BYTE_ORDER
    36  
    37  #  define X_BIG_ENDIAN 4321
    38  #  define X_LITTLE_ENDIAN 1234
    39  
    40  # else
    41  
    42  #  if defined(SVR4) || defined(__SVR4)
    43  #   include <sys/types.h>
    44  #   include <sys/byteorder.h>
    45  #  elif defined(CSRG_BASED)
    46  #   if defined(__NetBSD__) || defined(__OpenBSD__)
    47  #    include <sys/types.h>
    48  #   endif
    49  #   include <machine/endian.h>
    50  #  elif defined(linux)
    51  #   if defined __STRICT_ANSI__
    52  #    undef __STRICT_ANSI__
    53  #    include <endian.h>
    54  #    define __STRICT_ANSI__
    55  #   else
    56  #    include <endian.h>
    57  #   endif
    58  /* 'endian.h' might have been included before 'Xarch.h' */
    59  #   if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
    60  #    define LITTLE_ENDIAN __LITTLE_ENDIAN
    61  #   endif
    62  #   if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
    63  #    define BIG_ENDIAN __BIG_ENDIAN
    64  #   endif
    65  #   if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN)
    66  #    define PDP_ENDIAN __PDP_ENDIAN
    67  #   endif
    68  #   if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
    69  #    define BYTE_ORDER __BYTE_ORDER
    70  #   endif
    71  #  endif
    72  
    73  #  ifndef BYTE_ORDER
    74  #   define LITTLE_ENDIAN 1234
    75  #   define BIG_ENDIAN    4321
    76  
    77  #   if defined(__sun) && defined(__SVR4)
    78  #    include <sys/isa_defs.h>
    79  #    ifdef _LITTLE_ENDIAN
    80  #     define BYTE_ORDER LITTLE_ENDIAN
    81  #    endif
    82  #    ifdef _BIG_ENDIAN
    83  #     define BYTE_ORDER BIG_ENDIAN
    84  #    endif
    85  #   endif /* sun */
    86  #  endif /* BYTE_ORDER */
    87  
    88  #  define X_BYTE_ORDER BYTE_ORDER
    89  #  define X_BIG_ENDIAN BIG_ENDIAN
    90  #  define X_LITTLE_ENDIAN LITTLE_ENDIAN
    91  
    92  # endif /* not in imake config */
    93  
    94  #endif /* _XARCH_H_ */