xref: /plan9/sys/include/ape/sys/types.h (revision 867bfcc63a1875f4a26986cfd8fd7fefcc1d0f0a)
1 #ifndef __TYPES_H
2 #define __TYPES_H
3 
4 #pragma lib "/$M/lib/ape/libap.a"
5 typedef	unsigned short	ino_t;
6 typedef	unsigned short	dev_t;
7 typedef	long long		off_t;
8 typedef unsigned short	mode_t;
9 typedef short		uid_t;
10 typedef short		gid_t;
11 typedef short		nlink_t;
12 typedef int		pid_t;
13 
14 #ifndef _SIZE_T
15 #define _SIZE_T
16 typedef unsigned long size_t;
17 #endif
18 #ifndef _SSIZE_T
19 #define _SSIZE_T
20 typedef long ssize_t;
21 #endif
22 
23 #ifndef _TIME_T
24 #define _TIME_T
25 typedef long time_t;
26 #endif
27 
28 #ifdef _BSD_EXTENSION
29 #ifndef _CADDR_T
30 #define _CADDR_T
31 typedef char * caddr_t;
32 #endif
33 #ifndef _FD_SET_T
34 #define _FD_SET_T
35 /* also cf <select.h> */
36 typedef struct fd_set {
37 	long fds_bits[3];
38 } fd_set;
39 #define FD_SET(n,p)	((p)->fds_bits[(n)>>5] |= (1 << ((n) &0x1f)))
40 #define FD_CLR(n,p)	((p)->fds_bits[(n)>>5] &= ~(1 << ((n) &0x1f)))
41 #define FD_ISSET(n,p)	((p)->fds_bits[(n)>>5] & (1 << ((n) &0x1f)))
42 #define FD_ZERO(p)	((p)->fds_bits[0] =0, (p)->fds_bits[1] =0, (p)->fds_bits[2] =0)
43 #endif
44 #endif
45 
46 #endif /* __TYPES_H */
47