Initial Commit
This commit is contained in:
322
include/bits/stdint.txt
Normal file
322
include/bits/stdint.txt
Normal file
@@ -0,0 +1,322 @@
|
||||
stdint.hFile: /usr/include/stdint.h
|
||||
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 */
|
||||
321
|
||||
148
include/bits/types.h
Normal file
148
include/bits/types.h
Normal file
@@ -0,0 +1,148 @@
|
||||
/* Copyright (C) 1991,92,1994-1999,2000,2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
/*
|
||||
* Never include this file directly; use <sys/types.h> instead.
|
||||
*/
|
||||
|
||||
#ifndef _BITS_TYPES_H
|
||||
#define _BITS_TYPES_H 1
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Convenience types. */
|
||||
typedef unsigned char __u_char;
|
||||
typedef unsigned short __u_short;
|
||||
typedef unsigned int __u_int;
|
||||
typedef unsigned long __u_long;
|
||||
#ifdef __GLIBC_HAVE_LONG_LONG
|
||||
__extension__ typedef unsigned long long int __u_quad_t;
|
||||
__extension__ typedef long long int __quad_t;
|
||||
#else
|
||||
typedef struct
|
||||
{
|
||||
long int __val[2];
|
||||
} __quad_t;
|
||||
typedef struct
|
||||
{
|
||||
__u_long __val[2];
|
||||
} __u_quad_t;
|
||||
#endif
|
||||
typedef signed char __int8_t;
|
||||
typedef unsigned char __uint8_t;
|
||||
typedef signed short int __int16_t;
|
||||
typedef unsigned short int __uint16_t;
|
||||
typedef signed int __int32_t;
|
||||
typedef unsigned int __uint32_t;
|
||||
#ifdef __GLIBC_HAVE_LONG_LONG
|
||||
__extension__ typedef signed long long int __int64_t;
|
||||
__extension__ typedef unsigned long long int __uint64_t;
|
||||
#endif
|
||||
typedef __quad_t *__qaddr_t;
|
||||
|
||||
typedef __u_quad_t __dev_t; /* Type of device numbers. */
|
||||
typedef __u_int __uid_t; /* Type of user identifications. */
|
||||
typedef __u_int __gid_t; /* Type of group identifications. */
|
||||
typedef __u_long __ino_t; /* Type of file serial numbers. */
|
||||
typedef __u_int __mode_t; /* Type of file attribute bitmasks. */
|
||||
typedef __u_int __nlink_t; /* Type of file link counts. */
|
||||
typedef long int __off_t; /* Type of file sizes and offsets. */
|
||||
typedef __quad_t __loff_t; /* Type of file sizes and offsets. */
|
||||
typedef int __pid_t; /* Type of process identifications. */
|
||||
typedef int __ssize_t; /* Type of a byte count, or error. */
|
||||
typedef __u_long __rlim_t; /* Type of resource counts. */
|
||||
typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */
|
||||
typedef __u_int __id_t; /* General type for ID. */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int __val[2];
|
||||
} __fsid_t; /* Type of file system IDs. */
|
||||
|
||||
/* Everythin' else. */
|
||||
typedef int __daddr_t; /* The type of a disk address. */
|
||||
typedef char *__caddr_t;
|
||||
typedef long int __time_t;
|
||||
typedef unsigned int __useconds_t;
|
||||
typedef long int __suseconds_t;
|
||||
typedef long int __swblk_t; /* Type of a swap block maybe? */
|
||||
|
||||
typedef long int __clock_t;
|
||||
|
||||
/* Clock ID used in clock and timer functions. */
|
||||
typedef int __clockid_t;
|
||||
|
||||
/* Timer ID returned by `timer_create'. */
|
||||
typedef int __timer_t;
|
||||
|
||||
|
||||
/* Number of descriptors that can fit in an `fd_set'. */
|
||||
#define __FD_SETSIZE 1024
|
||||
|
||||
|
||||
typedef int __key_t;
|
||||
|
||||
/* Used in `struct shmid_ds'. */
|
||||
typedef unsigned short int __ipc_pid_t;
|
||||
|
||||
|
||||
/* Type to represent block size. */
|
||||
typedef long int __blksize_t;
|
||||
|
||||
/* Types from the Large File Support interface. */
|
||||
|
||||
/* Type to count number os disk blocks. */
|
||||
typedef long int __blkcnt_t;
|
||||
typedef __quad_t __blkcnt64_t;
|
||||
|
||||
/* Type to count file system blocks. */
|
||||
typedef __u_long __fsblkcnt_t;
|
||||
typedef __u_quad_t __fsblkcnt64_t;
|
||||
|
||||
/* Type to count file system inodes. */
|
||||
typedef __u_long __fsfilcnt_t;
|
||||
typedef __u_quad_t __fsfilcnt64_t;
|
||||
|
||||
/* Type of file serial numbers. */
|
||||
typedef __u_quad_t __ino64_t;
|
||||
|
||||
/* Type of file sizes and offsets. */
|
||||
typedef __loff_t __off64_t;
|
||||
|
||||
/* Used in XTI. */
|
||||
typedef long int __t_scalar_t;
|
||||
typedef unsigned long int __t_uscalar_t;
|
||||
|
||||
/* Duplicates info from stdint.h but this is used in unistd.h. */
|
||||
typedef int __intptr_t;
|
||||
|
||||
/* Duplicate info from sys/socket.h. */
|
||||
typedef unsigned int __socklen_t;
|
||||
|
||||
|
||||
/* Now add the thread types. */
|
||||
#if defined __USE_POSIX199506 || defined __USE_UNIX98
|
||||
# include <bits/pthreadtypes.h>
|
||||
#endif
|
||||
|
||||
#endif /* bits/types.h */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user