Loading...
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | #ifndef _ALPHA_TYPES_H #define _ALPHA_TYPES_H #ifndef _SIZE_T #define _SIZE_T typedef unsigned long size_t; #endif #ifndef _SSIZE_T #define _SSIZE_T typedef long ssize_t; #endif #ifndef _PTRDIFF_T #define _PTRDIFF_T typedef long ptrdiff_t; #endif #ifndef _TIME_T #define _TIME_T typedef long time_t; #endif #ifndef _CLOCK_T #define _CLOCK_T typedef long clock_t; #endif typedef int pid_t; typedef unsigned int uid_t; typedef unsigned int gid_t; typedef unsigned int dev_t; typedef unsigned int ino_t; typedef unsigned int mode_t; typedef unsigned int umode_t; typedef unsigned short nlink_t; typedef int daddr_t; typedef long off_t; /* * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the * header files exported to user space */ typedef __signed__ char __s8; typedef unsigned char __u8; typedef __signed__ short __s16; typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; /* * There are 32-bit compilers for the alpha out there.. */ #if ((~0UL) == 0xffffffff) #if defined(__GNUC__) && !defined(__STRICT_ANSI__) typedef __signed__ long long __s64; typedef unsigned long long __u64; #endif #else typedef __signed__ long __s64; typedef unsigned long __u64; #endif /* * These aren't exported outside the kernel to avoid name space clashes */ #ifdef __KERNEL__ typedef signed char s8; typedef unsigned char u8; typedef signed short s16; typedef unsigned short u16; typedef signed int s32; typedef unsigned int u32; /* * There are 32-bit compilers for the alpha out there.. */ #if ((~0UL) == 0xffffffff) typedef signed long long s64; typedef unsigned long long u64; #else typedef signed long s64; typedef unsigned long u64; #endif #endif /* __KERNEL__ */ #undef __FD_SET static inline void __FD_SET(unsigned long fd, fd_set *fdsetp) { unsigned long _tmp = fd / __NFDBITS; unsigned long _rem = fd % __NFDBITS; fdsetp->fds_bits[_tmp] |= (1UL<<_rem); } #undef __FD_CLR static inline void __FD_CLR(unsigned long fd, fd_set *fdsetp) { unsigned long _tmp = fd / __NFDBITS; unsigned long _rem = fd % __NFDBITS; fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem); } #undef __FD_ISSET static inline int __FD_ISSET(unsigned long fd, fd_set *p) { unsigned long _tmp = fd / __NFDBITS; unsigned long _rem = fd % __NFDBITS; return (p->fds_bits[_tmp] & (1UL<<_rem)) != 0; } /* * This will unroll the loop for the normal constant cases (4 or 8 longs, * for 256 and 512-bit fd_sets respectively) */ #undef __FD_ZERO static inline void __FD_ZERO(fd_set *p) { unsigned long *tmp = p->fds_bits; int i; if (__builtin_constant_p(__FDSET_LONGS)) { switch (__FDSET_LONGS) { case 8: tmp[0] = 0; tmp[1] = 0; tmp[2] = 0; tmp[3] = 0; tmp[4] = 0; tmp[5] = 0; tmp[6] = 0; tmp[7] = 0; return; case 4: tmp[0] = 0; tmp[1] = 0; tmp[2] = 0; tmp[3] = 0; return; } } i = __FDSET_LONGS; while (i) { i--; *tmp = 0; tmp++; } } #endif |