1 /* Copyright (C) 1991, 1992, 1994, 1995 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public License as
6 published by the Free Software Foundation; either version 2 of the
7 License, or (at your option) any later version.
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 Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public
15 License along with the GNU C Library; see the file COPYING.LIB. If
16 not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave,
17 Cambridge, MA 02139, USA. */
20 * POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
25 #define _SYS_TYPES_H 1
30 #include <gnu/types.h>
33 #define u_char __u_char
34 #define u_short __u_short
36 #define u_long __u_long
37 #define quad_t __quad_t
38 #define u_quad_t __u_quad_t
39 #define fsid_t __fsid_t
45 #define mode_t __mode_t
46 #define nlink_t __nlink_t
51 #define ssize_t __ssize_t
55 #define daddr_t __daddr_t
56 #define caddr_t __caddr_t
66 /* Old compatibility names for C types. */
67 typedef unsigned short int ushort;
68 typedef unsigned int uint;
72 /* These size-specific names are used by some of the inet code. */
75 typedef unsigned char u_int8_t;
76 typedef short int int16_t;
77 typedef unsigned short int u_int16_t;
79 typedef unsigned int u_int32_t;
81 typedef long long int int64_t;
82 typedef unsigned long long int u_int64_t;
83 typedef int register_t __attribute__ ((__mode__ (word)));
86 /* Some code from BIND tests this macro to see if the types above are
88 #define __BIT_TYPES_DEFINED__ 1
93 /* Data type for key value used in System V IPC functions. */
94 typedef long int key_t;
100 #define FD_SETSIZE __FD_SETSIZE
101 #define NFDBITS __NFDBITS
102 #define fd_set __fd_set
103 #define FD_ZERO(set) __FD_ZERO(set)
104 #define FD_SET(d, set) __FD_SET((d), (set))
105 #define FD_CLR(d, set) __FD_CLR((d), (set))
106 #define FD_ISSET(d, set)__FD_ISSET((d), (set))
108 /* This being here makes the `select' prototype valid whether or not
109 we have already included <sys/time.h> to define `struct timeval'. */
112 /* Check the first NFDS descriptors each in READFDS (if not NULL) for read
113 readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS
114 (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out
115 after waiting the interval specified therein. Returns the number of ready
116 descriptors, or -1 for errors. */
117 extern int __select __P ((int __nfds, __fd_set *__readfds,
118 __fd_set *__writefds, __fd_set *__exceptfds,
119 struct timeval *__timeout));
120 extern int select __P ((int __nfds, __fd_set *__readfds,
121 __fd_set *__writefds, __fd_set *__exceptfds,
122 struct timeval *__timeout));
124 #endif /* Use BSD. */
129 #endif /* sys/types.h */