OLD | NEW |
1 /* bits/types.h -- definitions of __*_t types underlying *_t types. | 1 /* bits/types.h -- definitions of __*_t types underlying *_t types. |
2 Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. | 2 Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. |
3 This file is part of the GNU C Library. | 3 This file is part of the GNU C Library. |
4 | 4 |
5 The GNU C Library is free software; you can redistribute it and/or | 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 | 6 modify it under the terms of the GNU Lesser General Public |
7 License as published by the Free Software Foundation; either | 7 License as published by the Free Software Foundation; either |
8 version 2.1 of the License, or (at your option) any later version. | 8 version 2.1 of the License, or (at your option) any later version. |
9 | 9 |
10 The GNU C Library is distributed in the hope that it will be useful, | 10 The GNU C Library is distributed in the hope that it will be useful, |
(...skipping 22 matching lines...) Expand all Loading... |
33 typedef unsigned int __u_int; | 33 typedef unsigned int __u_int; |
34 typedef unsigned long int __u_long; | 34 typedef unsigned long int __u_long; |
35 | 35 |
36 /* Fixed-size types, underlying types depend on word size and compiler. */ | 36 /* Fixed-size types, underlying types depend on word size and compiler. */ |
37 typedef signed char __int8_t; | 37 typedef signed char __int8_t; |
38 typedef unsigned char __uint8_t; | 38 typedef unsigned char __uint8_t; |
39 typedef signed short int __int16_t; | 39 typedef signed short int __int16_t; |
40 typedef unsigned short int __uint16_t; | 40 typedef unsigned short int __uint16_t; |
41 typedef signed int __int32_t; | 41 typedef signed int __int32_t; |
42 typedef unsigned int __uint32_t; | 42 typedef unsigned int __uint32_t; |
43 #if __WORDSIZE == 64 | 43 #if __WORDSIZE == 64 && !defined __native_client__ |
44 typedef signed long int __int64_t; | 44 typedef signed long int __int64_t; |
45 typedef unsigned long int __uint64_t; | 45 typedef unsigned long int __uint64_t; |
46 #elif defined __GLIBC_HAVE_LONG_LONG | 46 #elif defined __GLIBC_HAVE_LONG_LONG |
47 __extension__ typedef signed long long int __int64_t; | 47 __extension__ typedef signed long long int __int64_t; |
48 __extension__ typedef unsigned long long int __uint64_t; | 48 __extension__ typedef unsigned long long int __uint64_t; |
49 #endif | 49 #endif |
50 | 50 |
51 /* quad_t is also 64 bits. */ | 51 /* quad_t is also 64 bits. */ |
52 #if __WORDSIZE == 64 | 52 #if __WORDSIZE == 64 && !defined __native_client__ |
53 typedef long int __quad_t; | 53 typedef long int __quad_t; |
54 typedef unsigned long int __u_quad_t; | 54 typedef unsigned long int __u_quad_t; |
55 #elif defined __GLIBC_HAVE_LONG_LONG | 55 #elif defined __GLIBC_HAVE_LONG_LONG |
56 __extension__ typedef long long int __quad_t; | 56 __extension__ typedef long long int __quad_t; |
57 __extension__ typedef unsigned long long int __u_quad_t; | 57 __extension__ typedef unsigned long long int __u_quad_t; |
58 #else | 58 #else |
59 typedef struct | 59 typedef struct |
60 { | 60 { |
61 long __val[2]; | 61 long __val[2]; |
62 } __quad_t; | 62 } __quad_t; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 Here we assume what is presently the case in all the GCC configurations | 95 Here we assume what is presently the case in all the GCC configurations |
96 we support: long long is always 64 bits, long is always word/address size, | 96 we support: long long is always 64 bits, long is always word/address size, |
97 and int is always 32 bits. */ | 97 and int is always 32 bits. */ |
98 | 98 |
99 #define __S16_TYPE short int | 99 #define __S16_TYPE short int |
100 #define __U16_TYPE unsigned short int | 100 #define __U16_TYPE unsigned short int |
101 #define __S32_TYPE int | 101 #define __S32_TYPE int |
102 #define __U32_TYPE unsigned int | 102 #define __U32_TYPE unsigned int |
103 #define __SLONGWORD_TYPE long int | 103 #define __SLONGWORD_TYPE long int |
104 #define __ULONGWORD_TYPE unsigned long int | 104 #define __ULONGWORD_TYPE unsigned long int |
105 #if __WORDSIZE == 32 | 105 #if __WORDSIZE == 32 || defined __native_client__ |
106 # define __SQUAD_TYPE __quad_t | 106 # define __SQUAD_TYPE __quad_t |
107 # define __UQUAD_TYPE __u_quad_t | 107 # define __UQUAD_TYPE __u_quad_t |
108 # define __SWORD_TYPE int | 108 # define __SWORD_TYPE int |
109 # define __UWORD_TYPE unsigned int | 109 # define __UWORD_TYPE unsigned int |
110 # define __SLONG32_TYPE long int | 110 # define __SLONG32_TYPE long int |
111 # define __ULONG32_TYPE unsigned long int | 111 # define __ULONG32_TYPE unsigned long int |
112 # define __S64_TYPE __quad_t | 112 # define __S64_TYPE __quad_t |
113 # define __U64_TYPE __u_quad_t | 113 # define __U64_TYPE __u_quad_t |
114 /* We want __extension__ before typedef's that use nonstandard base types | 114 /* We want __extension__ before typedef's that use nonstandard base types |
115 such as `long long' in C89 mode. */ | 115 such as `long long' in C89 mode. */ |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 /* Duplicates info from stdint.h but this is used in unistd.h. */ | 188 /* Duplicates info from stdint.h but this is used in unistd.h. */ |
189 __STD_TYPE __SWORD_TYPE __intptr_t; | 189 __STD_TYPE __SWORD_TYPE __intptr_t; |
190 | 190 |
191 /* Duplicate info from sys/socket.h. */ | 191 /* Duplicate info from sys/socket.h. */ |
192 __STD_TYPE __U32_TYPE __socklen_t; | 192 __STD_TYPE __U32_TYPE __socklen_t; |
193 | 193 |
194 | 194 |
195 #undef __STD_TYPE | 195 #undef __STD_TYPE |
196 | 196 |
197 #endif /* bits/types.h */ | 197 #endif /* bits/types.h */ |
OLD | NEW |