Blame view
include/asm-generic/posix_types.h
3.64 KB
6103ec56c asm-generic: add ... |
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 156 157 158 159 160 161 162 163 164 165 |
#ifndef __ASM_GENERIC_POSIX_TYPES_H #define __ASM_GENERIC_POSIX_TYPES_H #include <asm/bitsperlong.h> /* * This file is generally used by user-level software, so you need to * be a little careful about namespace pollution etc. * * First the types that are often defined in different ways across * architectures, so that you can override them. */ #ifndef __kernel_ino_t typedef unsigned long __kernel_ino_t; #endif #ifndef __kernel_mode_t typedef unsigned int __kernel_mode_t; #endif #ifndef __kernel_nlink_t typedef unsigned long __kernel_nlink_t; #endif #ifndef __kernel_pid_t typedef int __kernel_pid_t; #endif #ifndef __kernel_ipc_pid_t typedef int __kernel_ipc_pid_t; #endif #ifndef __kernel_uid_t typedef unsigned int __kernel_uid_t; typedef unsigned int __kernel_gid_t; #endif #ifndef __kernel_suseconds_t typedef long __kernel_suseconds_t; #endif #ifndef __kernel_daddr_t typedef int __kernel_daddr_t; #endif #ifndef __kernel_uid32_t typedef __kernel_uid_t __kernel_uid32_t; typedef __kernel_gid_t __kernel_gid32_t; #endif #ifndef __kernel_old_uid_t typedef __kernel_uid_t __kernel_old_uid_t; typedef __kernel_gid_t __kernel_old_gid_t; #endif #ifndef __kernel_old_dev_t typedef unsigned int __kernel_old_dev_t; #endif /* * Most 32 bit architectures use "unsigned int" size_t, * and all 64 bit architectures use "unsigned long" size_t. */ #ifndef __kernel_size_t #if __BITS_PER_LONG != 64 typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef int __kernel_ptrdiff_t; #else typedef unsigned long __kernel_size_t; typedef long __kernel_ssize_t; typedef long __kernel_ptrdiff_t; #endif #endif /* * anything below here should be completely generic */ typedef long __kernel_off_t; typedef long long __kernel_loff_t; typedef long __kernel_time_t; typedef long __kernel_clock_t; typedef int __kernel_timer_t; typedef int __kernel_clockid_t; typedef char * __kernel_caddr_t; typedef unsigned short __kernel_uid16_t; typedef unsigned short __kernel_gid16_t; typedef struct { int val[2]; } __kernel_fsid_t; #ifdef __KERNEL__ #undef __FD_SET static inline void __FD_SET(unsigned long __fd, __kernel_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, __kernel_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, const __kernel_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 case (8 ints, * for a 256-bit fd_set) */ #undef __FD_ZERO static inline void __FD_ZERO(__kernel_fd_set *__p) { unsigned long *__tmp = __p->fds_bits; int __i; if (__builtin_constant_p(__FDSET_LONGS)) { switch (__FDSET_LONGS) { case 16: __tmp[ 0] = 0; __tmp[ 1] = 0; __tmp[ 2] = 0; __tmp[ 3] = 0; __tmp[ 4] = 0; __tmp[ 5] = 0; __tmp[ 6] = 0; __tmp[ 7] = 0; __tmp[ 8] = 0; __tmp[ 9] = 0; __tmp[10] = 0; __tmp[11] = 0; __tmp[12] = 0; __tmp[13] = 0; __tmp[14] = 0; __tmp[15] = 0; return; 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 /* __KERNEL__ */ #endif /* __ASM_GENERIC_POSIX_TYPES_H */ |