Annotation of linux/include/stdint.h, revision 1.1

1.1     ! root        1: /* Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
        !             2:    This file is part of the GNU C Library.
        !             3: 
        !             4:    The GNU C Library is free software; you can redistribute it and/or
        !             5:    modify it under the terms of the GNU Lesser General Public
        !             6:    License as published by the Free Software Foundation; either
        !             7:    version 2.1 of the License, or (at your option) any later version.
        !             8: 
        !             9:    The GNU C Library is distributed in the hope that it will be useful,
        !            10:    but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            11:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        !            12:    Lesser General Public License for more details.
        !            13: 
        !            14:    You should have received a copy of the GNU Lesser General Public
        !            15:    License along with the GNU C Library; if not, write to the Free
        !            16:    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
        !            17:    02111-1307 USA.  */
        !            18: 
        !            19: /*
        !            20:  *     ISO C99: 7.18 Integer types <stdint.h>
        !            21:  */
        !            22: 
        !            23: #ifndef _STDINT_H
        !            24: #define _STDINT_H      1
        !            25: 
        !            26: //#include <features.h>
        !            27: #include <bits/wchar.h>
        !            28: #include <bits/wordsize.h>
        !            29: 
        !            30: /* Exact integral types.  */
        !            31: 
        !            32: /* Signed.  */
        !            33: 
        !            34: /* There is some amount of overlap with <sys/types.h> as known by inet code */
        !            35: #ifndef __int8_t_defined
        !            36: # define __int8_t_defined
        !            37: typedef signed char            int8_t;
        !            38: typedef short int              int16_t;
        !            39: typedef int                    int32_t;
        !            40: # if __WORDSIZE == 64
        !            41: typedef long int               int64_t;
        !            42: # else
        !            43: __extension__
        !            44: typedef long long int          int64_t;
        !            45: # endif
        !            46: #endif
        !            47: 
        !            48: /* Unsigned.  */
        !            49: typedef unsigned char          uint8_t;
        !            50: typedef unsigned short int     uint16_t;
        !            51: #ifndef __uint32_t_defined
        !            52: typedef unsigned int           uint32_t;
        !            53: # define __uint32_t_defined
        !            54: #endif
        !            55: #if __WORDSIZE == 64
        !            56: typedef unsigned long int      uint64_t;
        !            57: #else
        !            58: __extension__
        !            59: typedef unsigned long long int uint64_t;
        !            60: #endif
        !            61: 
        !            62: 
        !            63: /* Small types.  */
        !            64: 
        !            65: /* Signed.  */
        !            66: typedef signed char            int_least8_t;
        !            67: typedef short int              int_least16_t;
        !            68: typedef int                    int_least32_t;
        !            69: #if __WORDSIZE == 64
        !            70: typedef long int               int_least64_t;
        !            71: #else
        !            72: __extension__
        !            73: typedef long long int          int_least64_t;
        !            74: #endif
        !            75: 
        !            76: /* Unsigned.  */
        !            77: typedef unsigned char          uint_least8_t;
        !            78: typedef unsigned short int     uint_least16_t;
        !            79: typedef unsigned int           uint_least32_t;
        !            80: #if __WORDSIZE == 64
        !            81: typedef unsigned long int      uint_least64_t;
        !            82: #else
        !            83: __extension__
        !            84: typedef unsigned long long int uint_least64_t;
        !            85: #endif
        !            86: 
        !            87: 
        !            88: /* Fast types.  */
        !            89: 
        !            90: /* Signed.  */
        !            91: typedef signed char            int_fast8_t;
        !            92: #if __WORDSIZE == 64
        !            93: typedef long int               int_fast16_t;
        !            94: typedef long int               int_fast32_t;
        !            95: typedef long int               int_fast64_t;
        !            96: #else
        !            97: typedef int                    int_fast16_t;
        !            98: typedef int                    int_fast32_t;
        !            99: __extension__
        !           100: typedef long long int          int_fast64_t;
        !           101: #endif
        !           102: 
        !           103: /* Unsigned.  */
        !           104: typedef unsigned char          uint_fast8_t;
        !           105: #if __WORDSIZE == 64
        !           106: typedef unsigned long int      uint_fast16_t;
        !           107: typedef unsigned long int      uint_fast32_t;
        !           108: typedef unsigned long int      uint_fast64_t;
        !           109: #else
        !           110: typedef unsigned int           uint_fast16_t;
        !           111: typedef unsigned int           uint_fast32_t;
        !           112: __extension__
        !           113: typedef unsigned long long int uint_fast64_t;
        !           114: #endif
        !           115: 
        !           116: 
        !           117: /* Types for `void *' pointers.  */
        !           118: #if __WORDSIZE == 64
        !           119: # ifndef __intptr_t_defined
        !           120: typedef long int               intptr_t;
        !           121: #  define __intptr_t_defined
        !           122: # endif
        !           123: typedef unsigned long int      uintptr_t;
        !           124: #else
        !           125: # ifndef __intptr_t_defined
        !           126: typedef int                    intptr_t;
        !           127: #  define __intptr_t_defined
        !           128: # endif
        !           129: typedef unsigned int           uintptr_t;
        !           130: #endif
        !           131: 
        !           132: 
        !           133: /* Largest integral types.  */
        !           134: #if __WORDSIZE == 64
        !           135: typedef long int               intmax_t;
        !           136: typedef unsigned long int      uintmax_t;
        !           137: #else
        !           138: __extension__
        !           139: typedef long long int          intmax_t;
        !           140: __extension__
        !           141: typedef unsigned long long int uintmax_t;
        !           142: #endif
        !           143: 
        !           144: 
        !           145: /* The ISO C99 standard specifies that in C++ implementations these
        !           146:    macros should only be defined if explicitly requested.  */
        !           147: #if !defined __cplusplus || defined __STDC_LIMIT_MACROS
        !           148: 
        !           149: # if __WORDSIZE == 64
        !           150: #  define __INT64_C(c) c ## L
        !           151: #  define __UINT64_C(c)        c ## UL
        !           152: # else
        !           153: #  define __INT64_C(c) c ## LL
        !           154: #  define __UINT64_C(c)        c ## ULL
        !           155: # endif
        !           156: 
        !           157: /* Limits of integral types.  */
        !           158: 
        !           159: /* Minimum of signed integral types.  */
        !           160: # define INT8_MIN              (-128)
        !           161: # define INT16_MIN             (-32767-1)
        !           162: # define INT32_MIN             (-2147483647-1)
        !           163: # define INT64_MIN             (-__INT64_C(9223372036854775807)-1)
        !           164: /* Maximum of signed integral types.  */
        !           165: # define INT8_MAX              (127)
        !           166: # define INT16_MAX             (32767)
        !           167: # define INT32_MAX             (2147483647)
        !           168: # define INT64_MAX             (__INT64_C(9223372036854775807))
        !           169: 
        !           170: /* Maximum of unsigned integral types.  */
        !           171: # define UINT8_MAX             (255)
        !           172: # define UINT16_MAX            (65535)
        !           173: # define UINT32_MAX            (4294967295U)
        !           174: # define UINT64_MAX            (__UINT64_C(18446744073709551615))
        !           175: 
        !           176: 
        !           177: /* Minimum of signed integral types having a minimum size.  */
        !           178: # define INT_LEAST8_MIN                (-128)
        !           179: # define INT_LEAST16_MIN       (-32767-1)
        !           180: # define INT_LEAST32_MIN       (-2147483647-1)
        !           181: # define INT_LEAST64_MIN       (-__INT64_C(9223372036854775807)-1)
        !           182: /* Maximum of signed integral types having a minimum size.  */
        !           183: # define INT_LEAST8_MAX                (127)
        !           184: # define INT_LEAST16_MAX       (32767)
        !           185: # define INT_LEAST32_MAX       (2147483647)
        !           186: # define INT_LEAST64_MAX       (__INT64_C(9223372036854775807))
        !           187: 
        !           188: /* Maximum of unsigned integral types having a minimum size.  */
        !           189: # define UINT_LEAST8_MAX       (255)
        !           190: # define UINT_LEAST16_MAX      (65535)
        !           191: # define UINT_LEAST32_MAX      (4294967295U)
        !           192: # define UINT_LEAST64_MAX      (__UINT64_C(18446744073709551615))
        !           193: 
        !           194: 
        !           195: /* Minimum of fast signed integral types having a minimum size.  */
        !           196: # define INT_FAST8_MIN         (-128)
        !           197: # if __WORDSIZE == 64
        !           198: #  define INT_FAST16_MIN       (-9223372036854775807L-1)
        !           199: #  define INT_FAST32_MIN       (-9223372036854775807L-1)
        !           200: # else
        !           201: #  define INT_FAST16_MIN       (-2147483647-1)
        !           202: #  define INT_FAST32_MIN       (-2147483647-1)
        !           203: # endif
        !           204: # define INT_FAST64_MIN                (-__INT64_C(9223372036854775807)-1)
        !           205: /* Maximum of fast signed integral types having a minimum size.  */
        !           206: # define INT_FAST8_MAX         (127)
        !           207: # if __WORDSIZE == 64
        !           208: #  define INT_FAST16_MAX       (9223372036854775807L)
        !           209: #  define INT_FAST32_MAX       (9223372036854775807L)
        !           210: # else
        !           211: #  define INT_FAST16_MAX       (2147483647)
        !           212: #  define INT_FAST32_MAX       (2147483647)
        !           213: # endif
        !           214: # define INT_FAST64_MAX                (__INT64_C(9223372036854775807))
        !           215: 
        !           216: /* Maximum of fast unsigned integral types having a minimum size.  */
        !           217: # define UINT_FAST8_MAX                (255)
        !           218: # if __WORDSIZE == 64
        !           219: #  define UINT_FAST16_MAX      (18446744073709551615UL)
        !           220: #  define UINT_FAST32_MAX      (18446744073709551615UL)
        !           221: # else
        !           222: #  define UINT_FAST16_MAX      (4294967295U)
        !           223: #  define UINT_FAST32_MAX      (4294967295U)
        !           224: # endif
        !           225: # define UINT_FAST64_MAX       (__UINT64_C(18446744073709551615))
        !           226: 
        !           227: 
        !           228: /* Values to test for integral types holding `void *' pointer.  */
        !           229: # if __WORDSIZE == 64
        !           230: #  define INTPTR_MIN           (-9223372036854775807L-1)
        !           231: #  define INTPTR_MAX           (9223372036854775807L)
        !           232: #  define UINTPTR_MAX          (18446744073709551615UL)
        !           233: # else
        !           234: #  define INTPTR_MIN           (-2147483647-1)
        !           235: #  define INTPTR_MAX           (2147483647)
        !           236: #  define UINTPTR_MAX          (4294967295U)
        !           237: # endif
        !           238: 
        !           239: 
        !           240: /* Minimum for largest signed integral type.  */
        !           241: # define INTMAX_MIN            (-__INT64_C(9223372036854775807)-1)
        !           242: /* Maximum for largest signed integral type.  */
        !           243: # define INTMAX_MAX            (__INT64_C(9223372036854775807))
        !           244: 
        !           245: /* Maximum for largest unsigned integral type.  */
        !           246: # define UINTMAX_MAX           (__UINT64_C(18446744073709551615))
        !           247: 
        !           248: 
        !           249: /* Limits of other integer types.  */
        !           250: 
        !           251: /* Limits of `ptrdiff_t' type.  */
        !           252: # if __WORDSIZE == 64
        !           253: #  define PTRDIFF_MIN          (-9223372036854775807L-1)
        !           254: #  define PTRDIFF_MAX          (9223372036854775807L)
        !           255: # else
        !           256: #  define PTRDIFF_MIN          (-2147483647-1)
        !           257: #  define PTRDIFF_MAX          (2147483647)
        !           258: # endif
        !           259: 
        !           260: /* Limits of `sig_atomic_t'.  */
        !           261: # define SIG_ATOMIC_MIN                (-2147483647-1)
        !           262: # define SIG_ATOMIC_MAX                (2147483647)
        !           263: 
        !           264: /* Limit of `size_t' type.  */
        !           265: # if __WORDSIZE == 64
        !           266: #  define SIZE_MAX             (18446744073709551615UL)
        !           267: # else
        !           268: #  define SIZE_MAX             (4294967295U)
        !           269: # endif
        !           270: 
        !           271: /* Limits of `wchar_t'.  */
        !           272: # ifndef WCHAR_MIN
        !           273: /* These constants might also be defined in <wchar.h>.  */
        !           274: #  define WCHAR_MIN            __WCHAR_MIN
        !           275: #  define WCHAR_MAX            __WCHAR_MAX
        !           276: # endif
        !           277: 
        !           278: /* Limits of `wint_t'.  */
        !           279: # define WINT_MIN              (0u)
        !           280: # define WINT_MAX              (4294967295u)
        !           281: 
        !           282: #endif /* C++ && limit macros */
        !           283: 
        !           284: 
        !           285: /* The ISO C99 standard specifies that in C++ implementations these
        !           286:    should only be defined if explicitly requested.  */
        !           287: #if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
        !           288: 
        !           289: /* Signed.  */
        !           290: # define INT8_C(c)     c
        !           291: # define INT16_C(c)    c
        !           292: # define INT32_C(c)    c
        !           293: # if __WORDSIZE == 64
        !           294: #  define INT64_C(c)   c ## L
        !           295: # else
        !           296: #  define INT64_C(c)   c ## LL
        !           297: # endif
        !           298: 
        !           299: /* Unsigned.  */
        !           300: # define UINT8_C(c)    c ## U
        !           301: # define UINT16_C(c)   c ## U
        !           302: # define UINT32_C(c)   c ## U
        !           303: # if __WORDSIZE == 64
        !           304: #  define UINT64_C(c)  c ## UL
        !           305: # else
        !           306: #  define UINT64_C(c)  c ## ULL
        !           307: # endif
        !           308: 
        !           309: /* Maximal type.  */
        !           310: # if __WORDSIZE == 64
        !           311: #  define INTMAX_C(c)  c ## L
        !           312: #  define UINTMAX_C(c) c ## UL
        !           313: # else
        !           314: #  define INTMAX_C(c)  c ## LL
        !           315: #  define UINTMAX_C(c) c ## ULL
        !           316: # endif
        !           317: 
        !           318: #endif /* C++ && constant macros */
        !           319: 
        !           320: #endif /* stdint.h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.