github.com/afumu/libc@v0.0.6/musl/include/stdint.h (about)

     1  #ifndef _STDINT_H
     2  #define _STDINT_H
     3  
     4  #define __NEED_int8_t
     5  #define __NEED_int16_t
     6  #define __NEED_int32_t
     7  #define __NEED_int64_t
     8  
     9  #define __NEED_uint8_t
    10  #define __NEED_uint16_t
    11  #define __NEED_uint32_t
    12  #define __NEED_uint64_t
    13  
    14  #define __NEED_intptr_t
    15  #define __NEED_uintptr_t
    16  
    17  #define __NEED_intmax_t
    18  #define __NEED_uintmax_t
    19  
    20  #include <bits/alltypes.h>
    21  
    22  typedef int8_t int_fast8_t;
    23  typedef int64_t int_fast64_t;
    24  
    25  typedef int8_t  int_least8_t;
    26  typedef int16_t int_least16_t;
    27  typedef int32_t int_least32_t;
    28  typedef int64_t int_least64_t;
    29  
    30  typedef uint8_t uint_fast8_t;
    31  typedef uint64_t uint_fast64_t;
    32  
    33  typedef uint8_t  uint_least8_t;
    34  typedef uint16_t uint_least16_t;
    35  typedef uint32_t uint_least32_t;
    36  typedef uint64_t uint_least64_t;
    37  
    38  #define INT8_MIN   (-1-0x7f)
    39  #define INT16_MIN  (-1-0x7fff)
    40  #define INT32_MIN  (-1-0x7fffffff)
    41  #define INT64_MIN  (-1-0x7fffffffffffffff)
    42  
    43  #define INT8_MAX   (0x7f)
    44  #define INT16_MAX  (0x7fff)
    45  #define INT32_MAX  (0x7fffffff)
    46  #define INT64_MAX  (0x7fffffffffffffff)
    47  
    48  #define UINT8_MAX  (0xff)
    49  #define UINT16_MAX (0xffff)
    50  #define UINT32_MAX (0xffffffffu)
    51  #define UINT64_MAX (0xffffffffffffffffu)
    52  
    53  #define INT_FAST8_MIN   INT8_MIN
    54  #define INT_FAST64_MIN  INT64_MIN
    55  
    56  #define INT_LEAST8_MIN   INT8_MIN
    57  #define INT_LEAST16_MIN  INT16_MIN
    58  #define INT_LEAST32_MIN  INT32_MIN
    59  #define INT_LEAST64_MIN  INT64_MIN
    60  
    61  #define INT_FAST8_MAX   INT8_MAX
    62  #define INT_FAST64_MAX  INT64_MAX
    63  
    64  #define INT_LEAST8_MAX   INT8_MAX
    65  #define INT_LEAST16_MAX  INT16_MAX
    66  #define INT_LEAST32_MAX  INT32_MAX
    67  #define INT_LEAST64_MAX  INT64_MAX
    68  
    69  #define UINT_FAST8_MAX  UINT8_MAX
    70  #define UINT_FAST64_MAX UINT64_MAX
    71  
    72  #define UINT_LEAST8_MAX  UINT8_MAX
    73  #define UINT_LEAST16_MAX UINT16_MAX
    74  #define UINT_LEAST32_MAX UINT32_MAX
    75  #define UINT_LEAST64_MAX UINT64_MAX
    76  
    77  #define INTMAX_MIN  INT64_MIN
    78  #define INTMAX_MAX  INT64_MAX
    79  #define UINTMAX_MAX UINT64_MAX
    80  
    81  #define WINT_MIN 0U
    82  #define WINT_MAX UINT32_MAX
    83  
    84  #if L'\0'-1 > 0
    85  #define WCHAR_MAX (0xffffffffu+L'\0')
    86  #define WCHAR_MIN (0+L'\0')
    87  #else
    88  #define WCHAR_MAX (0x7fffffff+L'\0')
    89  #define WCHAR_MIN (-1-0x7fffffff+L'\0')
    90  #endif
    91  
    92  #define SIG_ATOMIC_MIN  INT32_MIN
    93  #define SIG_ATOMIC_MAX  INT32_MAX
    94  
    95  #include <bits/stdint.h>
    96  
    97  #define INT8_C(c)  c
    98  #define INT16_C(c) c
    99  #define INT32_C(c) c
   100  
   101  #define UINT8_C(c)  c
   102  #define UINT16_C(c) c
   103  #define UINT32_C(c) c ## U
   104  
   105  #if UINTPTR_MAX == UINT64_MAX
   106  #define INT64_C(c) c ## L
   107  #define UINT64_C(c) c ## UL
   108  #define INTMAX_C(c)  c ## L
   109  #define UINTMAX_C(c) c ## UL
   110  #else
   111  #define INT64_C(c) c ## LL
   112  #define UINT64_C(c) c ## ULL
   113  #define INTMAX_C(c)  c ## LL
   114  #define UINTMAX_C(c) c ## ULL
   115  #endif
   116  
   117  #endif