~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-parisc/posix_types.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef __ARCH_PARISC_POSIX_TYPES_H
  2 #define __ARCH_PARISC_POSIX_TYPES_H
  3 
  4 /*
  5  * This file is generally used by user-level software, so you need to
  6  * be a little careful about namespace pollution etc.  Also, we cannot
  7  * assume GCC is being used.
  8  */
  9 typedef unsigned int            __kernel_dev_t;
 10 typedef unsigned long           __kernel_ino_t;
 11 typedef unsigned short          __kernel_mode_t;
 12 typedef unsigned short          __kernel_nlink_t;
 13 typedef long                    __kernel_off_t;
 14 typedef int                     __kernel_pid_t;
 15 typedef unsigned short          __kernel_ipc_pid_t;
 16 typedef unsigned int            __kernel_uid_t;
 17 typedef unsigned int            __kernel_gid_t;
 18 typedef int                     __kernel_suseconds_t;
 19 typedef int                     __kernel_clock_t;
 20 typedef int                     __kernel_daddr_t;
 21 /* Note these change from narrow to wide kernels */
 22 typedef unsigned long           __kernel_size_t;
 23 typedef long                    __kernel_ssize_t;
 24 typedef long                    __kernel_ptrdiff_t;
 25 typedef long                    __kernel_time_t;
 26 typedef char *                  __kernel_caddr_t;
 27 
 28 typedef unsigned short          __kernel_uid16_t;
 29 typedef unsigned short          __kernel_gid16_t;
 30 typedef unsigned int            __kernel_uid32_t;
 31 typedef unsigned int            __kernel_gid32_t;
 32 
 33 #ifdef __GNUC__
 34 typedef long long               __kernel_loff_t;
 35 typedef long long               __kernel_off64_t;
 36 typedef unsigned long long      __kernel_ino64_t;
 37 #endif
 38 
 39 typedef struct {
 40 #if defined(__KERNEL__) || defined(__USE_ALL)
 41         int     val[2];
 42 #else /* !defined(__KERNEL__) && !defined(__USE_ALL) */
 43         int     __val[2];
 44 #endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */
 45 } __kernel_fsid_t;
 46 
 47 #if defined(__KERNEL__) && defined(__LP64__)
 48 /* Now 32bit compatibility types */
 49 typedef unsigned int            __kernel_dev_t32;
 50 typedef unsigned int            __kernel_ino_t32;
 51 typedef unsigned short          __kernel_mode_t32;
 52 typedef unsigned short          __kernel_nlink_t32;
 53 typedef int                     __kernel_off_t32;
 54 typedef int                     __kernel_pid_t32;
 55 typedef unsigned short          __kernel_ipc_pid_t32;
 56 typedef unsigned int            __kernel_uid_t32;
 57 typedef unsigned int            __kernel_gid_t32;
 58 typedef unsigned int            __kernel_size_t32;
 59 typedef int                     __kernel_ssize_t32;
 60 typedef int                     __kernel_ptrdiff_t32;
 61 typedef int                     __kernel_time_t32;
 62 typedef int                     __kernel_suseconds_t32;
 63 typedef int                     __kernel_clock_t32;
 64 typedef int                     __kernel_daddr_t32;
 65 typedef unsigned int            __kernel_caddr_t32;
 66 #endif
 67 
 68 #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
 69 
 70 #undef __FD_SET
 71 static __inline__ void __FD_SET(unsigned long __fd, __kernel_fd_set *__fdsetp)
 72 {
 73         unsigned long __tmp = __fd / __NFDBITS;
 74         unsigned long __rem = __fd % __NFDBITS;
 75         __fdsetp->fds_bits[__tmp] |= (1UL<<__rem);
 76 }
 77 
 78 #undef __FD_CLR
 79 static __inline__ void __FD_CLR(unsigned long __fd, __kernel_fd_set *__fdsetp)
 80 {
 81         unsigned long __tmp = __fd / __NFDBITS;
 82         unsigned long __rem = __fd % __NFDBITS;
 83         __fdsetp->fds_bits[__tmp] &= ~(1UL<<__rem);
 84 }
 85 
 86 #undef __FD_ISSET
 87 static __inline__ int __FD_ISSET(unsigned long __fd, const __kernel_fd_set *__p)
 88 { 
 89         unsigned long __tmp = __fd / __NFDBITS;
 90         unsigned long __rem = __fd % __NFDBITS;
 91         return (__p->fds_bits[__tmp] & (1UL<<__rem)) != 0;
 92 }
 93 
 94 /*
 95  * This will unroll the loop for the normal constant case (8 ints,
 96  * for a 256-bit fd_set)
 97  */
 98 #undef __FD_ZERO
 99 static __inline__ void __FD_ZERO(__kernel_fd_set *__p)
100 {
101         unsigned long *__tmp = __p->fds_bits;
102         int __i;
103 
104         if (__builtin_constant_p(__FDSET_LONGS)) {
105                 switch (__FDSET_LONGS) {
106                 case 16:
107                         __tmp[ 0] = 0; __tmp[ 1] = 0;
108                         __tmp[ 2] = 0; __tmp[ 3] = 0;
109                         __tmp[ 4] = 0; __tmp[ 5] = 0;
110                         __tmp[ 6] = 0; __tmp[ 7] = 0;
111                         __tmp[ 8] = 0; __tmp[ 9] = 0;
112                         __tmp[10] = 0; __tmp[11] = 0;
113                         __tmp[12] = 0; __tmp[13] = 0;
114                         __tmp[14] = 0; __tmp[15] = 0;
115                         return;
116 
117                 case 8:
118                         __tmp[ 0] = 0; __tmp[ 1] = 0;
119                         __tmp[ 2] = 0; __tmp[ 3] = 0;
120                         __tmp[ 4] = 0; __tmp[ 5] = 0;
121                         __tmp[ 6] = 0; __tmp[ 7] = 0;
122                         return;
123 
124                 case 4:
125                         __tmp[ 0] = 0; __tmp[ 1] = 0;
126                         __tmp[ 2] = 0; __tmp[ 3] = 0;
127                         return;
128                 }
129         }
130         __i = __FDSET_LONGS;
131         while (__i) {
132                 __i--;
133                 *__tmp = 0;
134                 __tmp++;
135         }
136 }
137 
138 #endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */
139 
140 #endif
141 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.