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 156 157 158 | /* * include/asm-mips/types.h * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1994, 1995 by Waldorf GMBH * written by Ralf Baechle */ #ifndef __ASM_MIPS_TYPES_H #define __ASM_MIPS_TYPES_H #ifndef _SIZE_T #define _SIZE_T typedef __SIZE_TYPE__ size_t; #endif #ifndef _SSIZE_T #define _SSIZE_T typedef __SSIZE_TYPE__ ssize_t; #endif #ifndef _PTRDIFF_T #define _PTRDIFF_T typedef __PTRDIFF_TYPE__ 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 /* * __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; #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; #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 #endif /* __KERNEL__ */ typedef __s32 pid_t; typedef __s32 uid_t; typedef __s32 gid_t; typedef __u32 dev_t; typedef __u32 ino_t; typedef __u32 mode_t; typedef __u32 umode_t; typedef __u32 nlink_t; typedef long daddr_t; typedef long off_t; #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 case (8 ints, * for a 256-bit fd_set) */ #undef __FD_ZERO static __inline__ void __FD_ZERO(fd_set *p) { unsigned int *tmp = p->fds_bits; int i; if (__builtin_constant_p(__FDSET_INTS)) { switch (__FDSET_INTS) { 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; } } i = __FDSET_INTS; while (i) { i--; *tmp = 0; tmp++; } } #endif /* __ASM_MIPS_TYPES_H */ |