Dr Andrew Scott G7VAV

My photo
 
April 2024
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12


types.h
001: /* Copyright (C) 1991,1992,1994-2002,2006,2010 Free Software Foundation, Inc.
002:    This file is part of the GNU C Library.
003: 
004:    The GNU C Library is free software; you can redistribute it and/or
005:    modify it under the terms of the GNU Lesser General Public
006:    License as published by the Free Software Foundation; either
007:    version 2.1 of the License, or (at your option) any later version.
008: 
009:    The GNU C Library is distributed in the hope that it will be useful,
010:    but WITHOUT ANY WARRANTY; without even the implied warranty of
011:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
012:    Lesser General Public License for more details.
013: 
014:    You should have received a copy of the GNU Lesser General Public
015:    License along with the GNU C Library; if not, write to the Free
016:    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
017:    02111-1307 USA.  */
018: 
019: /*
020:  *      POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
021:  */
022: 
023: #ifndef _SYS_TYPES_H
024: #define _SYS_TYPES_H    1
025: 
026: #include <features.h>
027: 
028: __BEGIN_DECLS
029: 
030: #include <bits/types.h>
031: 
032: #ifdef  __USE_BSD
033: # ifndef __u_char_defined
034: typedef __u_char u_char;
035: typedef __u_short u_short;
036: typedef __u_int u_int;
037: typedef __u_long u_long;
038: typedef __quad_t quad_t;
039: typedef __u_quad_t u_quad_t;
040: typedef __fsid_t fsid_t;
041: #  define __u_char_defined
042: # endif
043: #endif
044: 
045: typedef __loff_t loff_t;
046: 
047: #ifndef __ino_t_defined
048: # ifndef __USE_FILE_OFFSET64
049: typedef __ino_t ino_t;
050: # else
051: typedef __ino64_t ino_t;
052: # endif
053: # define __ino_t_defined
054: #endif
055: #if defined __USE_LARGEFILE64 && !defined __ino64_t_defined
056: typedef __ino64_t ino64_t;
057: # define __ino64_t_defined
058: #endif
059: 
060: #ifndef __dev_t_defined
061: typedef __dev_t dev_t;
062: # define __dev_t_defined
063: #endif
064: 
065: #ifndef __gid_t_defined
066: typedef __gid_t gid_t;
067: # define __gid_t_defined
068: #endif
069: 
070: #ifndef __mode_t_defined
071: typedef __mode_t mode_t;
072: # define __mode_t_defined
073: #endif
074: 
075: #ifndef __nlink_t_defined
076: typedef __nlink_t nlink_t;
077: # define __nlink_t_defined
078: #endif
079: 
080: #ifndef __uid_t_defined
081: typedef __uid_t uid_t;
082: # define __uid_t_defined
083: #endif
084: 
085: #ifndef __off_t_defined
086: # ifndef __USE_FILE_OFFSET64
087: typedef __off_t off_t;
088: # else
089: typedef __off64_t off_t;
090: # endif
091: # define __off_t_defined
092: #endif
093: #if defined __USE_LARGEFILE64 && !defined __off64_t_defined
094: typedef __off64_t off64_t;
095: # define __off64_t_defined
096: #endif
097: 
098: #ifndef __pid_t_defined
099: typedef __pid_t pid_t;
100: # define __pid_t_defined
101: #endif
102: 
103: #if (defined __USE_SVID || defined __USE_XOPEN || defined __USE_XOPEN2K8) \
104:     && !defined __id_t_defined
105: typedef __id_t id_t;
106: # define __id_t_defined
107: #endif
108: 
109: #ifndef __ssize_t_defined
110: typedef __ssize_t ssize_t;
111: # define __ssize_t_defined
112: #endif
113: 
114: #ifdef  __USE_BSD
115: # ifndef __daddr_t_defined
116: typedef __daddr_t daddr_t;
117: typedef __caddr_t caddr_t;
118: #  define __daddr_t_defined
119: # endif
120: #endif
121: 
122: #if (defined __USE_SVID || defined __USE_XOPEN) && !defined __key_t_defined
123: typedef __key_t key_t;
124: # define __key_t_defined
125: #endif
126: 
127: #if defined __USE_XOPEN || defined __USE_XOPEN2K8
128: # define __need_clock_t
129: #endif
130: #define __need_time_t
131: #define __need_timer_t
132: #define __need_clockid_t
133: #include <time.h>
134: 
135: #ifdef __USE_XOPEN
136: # ifndef __useconds_t_defined
137: typedef __useconds_t useconds_t;
138: #  define __useconds_t_defined
139: # endif
140: # ifndef __suseconds_t_defined
141: typedef __suseconds_t suseconds_t;
142: #  define __suseconds_t_defined
143: # endif
144: #endif
145: 
146: #define __need_size_t
147: #include <stddef.h>
148: 
149: #ifdef __USE_MISC
150: /* Old compatibility names for C types.  */
151: typedef unsigned long int ulong;
152: typedef unsigned short int ushort;
153: typedef unsigned int uint;
154: #endif
155: 
156: /* These size-specific names are used by some of the inet code.  */
157: 
158: #if !__GNUC_PREREQ (2, 7)
159: 
160: /* These types are defined by the ISO C99 header <inttypes.h>. */
161: # ifndef __int8_t_defined
162: #  define __int8_t_defined
163: typedef char int8_t;
164: typedef short int int16_t;
165: typedef int int32_t;
166: #  if __WORDSIZE == 64
167: typedef long int int64_t;
168: #  elif __GLIBC_HAVE_LONG_LONG
169: __extension__ typedef long long int int64_t;
170: #  endif
171: # endif
172: 
173: /* But these were defined by ISO C without the first `_'.  */
174: typedef unsigned char u_int8_t;
175: typedef unsigned short int u_int16_t;
176: typedef unsigned int u_int32_t;
177: # if __WORDSIZE == 64
178: typedef unsigned long int u_int64_t;
179: # elif __GLIBC_HAVE_LONG_LONG
180: __extension__ typedef unsigned long long int u_int64_t;
181: # endif
182: 
183: typedef int register_t;
184: 
185: #else
186: 
187: /* For GCC 2.7 and later, we can use specific type-size attributes.  */
188: # define __intN_t(N, MODE) \
189:   typedef int int##N##_t __attribute__ ((__mode__ (MODE)))
190: # define __u_intN_t(N, MODE) \
191:   typedef unsigned int u_int##N##_t __attribute__ ((__mode__ (MODE)))
192: 
193: # ifndef __int8_t_defined
194: #  define __int8_t_defined
195: __intN_t (8, __QI__);
196: __intN_t (16, __HI__);
197: __intN_t (32, __SI__);
198: __intN_t (64, __DI__);
199: # endif
200: 
201: __u_intN_t (8, __QI__);
202: __u_intN_t (16, __HI__);
203: __u_intN_t (32, __SI__);
204: __u_intN_t (64, __DI__);
205: 
206: typedef int register_t __attribute__ ((__mode__ (__word__)));
207: 
208: 
209: /* Some code from BIND tests this macro to see if the types above are
210:    defined.  */
211: #endif
212: #define __BIT_TYPES_DEFINED__   1
213: 
214: 
215: #ifdef  __USE_BSD
216: /* In BSD <sys/types.h> is expected to define BYTE_ORDER.  */
217: # include <endian.h>
218: 
219: /* It also defines `fd_set' and the FD_* macros for `select'.  */
220: # include <sys/select.h>
221: 
222: /* BSD defines these symbols, so we follow.  */
223: # include <sys/sysmacros.h>
224: #endif /* Use BSD.  */
225: 
226: 
227: #if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) \
228:     && !defined __blksize_t_defined
229: typedef __blksize_t blksize_t;
230: # define __blksize_t_defined
231: #endif
232: 
233: /* Types from the Large File Support interface.  */
234: #ifndef __USE_FILE_OFFSET64
235: # ifndef __blkcnt_t_defined
236: typedef __blkcnt_t blkcnt_t;     /* Type to count number of disk blocks.  */
237: #  define __blkcnt_t_defined
238: # endif
239: # ifndef __fsblkcnt_t_defined
240: typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks.  */
241: #  define __fsblkcnt_t_defined
242: # endif
243: # ifndef __fsfilcnt_t_defined
244: typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes.  */
245: #  define __fsfilcnt_t_defined
246: # endif
247: #else
248: # ifndef __blkcnt_t_defined
249: typedef __blkcnt64_t blkcnt_t;     /* Type to count number of disk blocks.  */
250: #  define __blkcnt_t_defined
251: # endif
252: # ifndef __fsblkcnt_t_defined
253: typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks.  */
254: #  define __fsblkcnt_t_defined
255: # endif
256: # ifndef __fsfilcnt_t_defined
257: typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes.  */
258: #  define __fsfilcnt_t_defined
259: # endif
260: #endif
261: 
262: #ifdef __USE_LARGEFILE64
263: typedef __blkcnt64_t blkcnt64_t;     /* Type to count number of disk blocks. */
264: typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks.  */
265: typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes.  */
266: #endif
267: 
268: 
269: /* Now add the thread types.  */
270: #if defined __USE_POSIX199506 || defined __USE_UNIX98
271: # include <bits/pthreadtypes.h>
272: #endif
273: 
274: __END_DECLS
275: 
276: #endif /* sys/types.h */
277: 


for client 52.14.126.74
© Andrew Scott 2006 - 2024,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/