1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24: #ifndef _BITS_TYPES_H
25: #define _BITS_TYPES_H 1
26:
27: #include <features.h>
28: #include <bits/wordsize.h>
29:
30:
31: typedef unsigned char __u_char;
32: typedef unsigned short int __u_short;
33: typedef unsigned int __u_int;
34: typedef unsigned long int __u_long;
35:
36:
37: typedef signed char __int8_t;
38: typedef unsigned char __uint8_t;
39: typedef signed short int __int16_t;
40: typedef unsigned short int __uint16_t;
41: typedef signed int __int32_t;
42: typedef unsigned int __uint32_t;
43: #if __WORDSIZE == 64
44: typedef signed long int __int64_t;
45: typedef unsigned long int __uint64_t;
46: #elif defined __GLIBC_HAVE_LONG_LONG
47: __extension__ typedef signed long long int __int64_t;
48: __extension__ typedef unsigned long long int __uint64_t;
49: #endif
50:
51:
52: #if __WORDSIZE == 64
53: typedef long int __quad_t;
54: typedef unsigned long int __u_quad_t;
55: #elif defined __GLIBC_HAVE_LONG_LONG
56: __extension__ typedef long long int __quad_t;
57: __extension__ typedef unsigned long long int __u_quad_t;
58: #else
59: typedef struct
60: {
61: long __val[2];
62: } __quad_t;
63: typedef struct
64: {
65: __u_long __val[2];
66: } __u_quad_t;
67: #endif
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99: #define __S16_TYPE short int
100: #define __U16_TYPE unsigned short int
101: #define __S32_TYPE int
102: #define __U32_TYPE unsigned int
103: #define __SLONGWORD_TYPE long int
104: #define __ULONGWORD_TYPE unsigned long int
105: #if __WORDSIZE == 32
106: # define __SQUAD_TYPE __quad_t
107: # define __UQUAD_TYPE __u_quad_t
108: # define __SWORD_TYPE int
109: # define __UWORD_TYPE unsigned int
110: # define __SLONG32_TYPE long int
111: # define __ULONG32_TYPE unsigned long int
112: # define __S64_TYPE __quad_t
113: # define __U64_TYPE __u_quad_t
114:
115:
116: # define __STD_TYPE __extension__ typedef
117: #elif __WORDSIZE == 64
118: # define __SQUAD_TYPE long int
119: # define __UQUAD_TYPE unsigned long int
120: # define __SWORD_TYPE long int
121: # define __UWORD_TYPE unsigned long int
122: # define __SLONG32_TYPE int
123: # define __ULONG32_TYPE unsigned int
124: # define __S64_TYPE long int
125: # define __U64_TYPE unsigned long int
126:
127: # define __STD_TYPE typedef
128: #else
129: # error
130: #endif
131: #include <bits/typesizes.h>
132:
133:
134: __STD_TYPE __DEV_T_TYPE __dev_t;
135: __STD_TYPE __UID_T_TYPE __uid_t;
136: __STD_TYPE __GID_T_TYPE __gid_t;
137: __STD_TYPE __INO_T_TYPE __ino_t;
138: __STD_TYPE __INO64_T_TYPE __ino64_t;
139: __STD_TYPE __MODE_T_TYPE __mode_t;
140: __STD_TYPE __NLINK_T_TYPE __nlink_t;
141: __STD_TYPE __OFF_T_TYPE __off_t;
142: __STD_TYPE __OFF64_T_TYPE __off64_t;
143: __STD_TYPE __PID_T_TYPE __pid_t;
144: __STD_TYPE __FSID_T_TYPE __fsid_t;
145: __STD_TYPE __CLOCK_T_TYPE __clock_t;
146: __STD_TYPE __RLIM_T_TYPE __rlim_t;
147: __STD_TYPE __RLIM64_T_TYPE __rlim64_t;
148: __STD_TYPE __ID_T_TYPE __id_t;
149: __STD_TYPE __TIME_T_TYPE __time_t;
150: __STD_TYPE __USECONDS_T_TYPE __useconds_t;
151: __STD_TYPE __SUSECONDS_T_TYPE __suseconds_t;
152:
153: __STD_TYPE __DADDR_T_TYPE __daddr_t;
154: __STD_TYPE __SWBLK_T_TYPE __swblk_t;
155: __STD_TYPE __KEY_T_TYPE __key_t;
156:
157:
158: __STD_TYPE __CLOCKID_T_TYPE __clockid_t;
159:
160:
161: __STD_TYPE __TIMER_T_TYPE __timer_t;
162:
163:
164: __STD_TYPE __BLKSIZE_T_TYPE __blksize_t;
165:
166:
167:
168:
169: __STD_TYPE __BLKCNT_T_TYPE __blkcnt_t;
170: __STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t;
171:
172:
173: __STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t;
174: __STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
175:
176:
177: __STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
178: __STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
179:
180: __STD_TYPE __SSIZE_T_TYPE __ssize_t;
181:
182:
183:
184: typedef __off64_t __loff_t;
185: typedef __quad_t *__qaddr_t;
186: typedef char *__caddr_t;
187:
188:
189: __STD_TYPE __SWORD_TYPE __intptr_t;
190:
191:
192: __STD_TYPE __U32_TYPE __socklen_t;
193:
194:
195: #undef __STD_TYPE
196:
197: #endif