types.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024: #ifndef _BITS_TYPES_H
025: #define _BITS_TYPES_H 1
026:
027: #include <features.h>
028: #include <bits/wordsize.h>
029:
030:
031: typedef unsigned char __u_char;
032: typedef unsigned short int __u_short;
033: typedef unsigned int __u_int;
034: typedef unsigned long int __u_long;
035:
036:
037: typedef signed char __int8_t;
038: typedef unsigned char __uint8_t;
039: typedef signed short int __int16_t;
040: typedef unsigned short int __uint16_t;
041: typedef signed int __int32_t;
042: typedef unsigned int __uint32_t;
043: #if __WORDSIZE == 64
044: typedef signed long int __int64_t;
045: typedef unsigned long int __uint64_t;
046: #elif defined __GLIBC_HAVE_LONG_LONG
047: __extension__ typedef signed long long int __int64_t;
048: __extension__ typedef unsigned long long int __uint64_t;
049: #endif
050:
051:
052: #if __WORDSIZE == 64
053: typedef long int __quad_t;
054: typedef unsigned long int __u_quad_t;
055: #elif defined __GLIBC_HAVE_LONG_LONG
056: __extension__ typedef long long int __quad_t;
057: __extension__ typedef unsigned long long int __u_quad_t;
058: #else
059: typedef struct
060: {
061: long __val[2];
062: } __quad_t;
063: typedef struct
064: {
065: __u_long __val[2];
066: } __u_quad_t;
067: #endif
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099: #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
198:
© Andrew Scott 2006 -
2025,
All Rights Reserved