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