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

TOMOYO Linux Cross Reference
Linux/arch/ia64/include/asm/posix_types.h

Version: ~ [ linux-5.19-rc3 ] ~ [ linux-5.18.5 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.48 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.123 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.199 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.248 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.284 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.319 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.302 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _ASM_IA64_POSIX_TYPES_H
  2 #define _ASM_IA64_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  * Based on <asm-alpha/posix_types.h>.
 10  *
 11  * Modified 1998-2000, 2003
 12  *      David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
 13  */
 14 
 15 typedef unsigned long   __kernel_ino_t;
 16 typedef unsigned int    __kernel_mode_t;
 17 typedef unsigned int    __kernel_nlink_t;
 18 typedef long            __kernel_off_t;
 19 typedef long long       __kernel_loff_t;
 20 typedef int             __kernel_pid_t;
 21 typedef int             __kernel_ipc_pid_t;
 22 typedef unsigned int    __kernel_uid_t;
 23 typedef unsigned int    __kernel_gid_t;
 24 typedef unsigned long   __kernel_size_t;
 25 typedef long            __kernel_ssize_t;
 26 typedef long            __kernel_ptrdiff_t;
 27 typedef long            __kernel_time_t;
 28 typedef long            __kernel_suseconds_t;
 29 typedef long            __kernel_clock_t;
 30 typedef int             __kernel_timer_t;
 31 typedef int             __kernel_clockid_t;
 32 typedef int             __kernel_daddr_t;
 33 typedef char *          __kernel_caddr_t;
 34 typedef unsigned long   __kernel_sigset_t;      /* at least 32 bits */
 35 typedef unsigned short  __kernel_uid16_t;
 36 typedef unsigned short  __kernel_gid16_t;
 37 
 38 typedef struct {
 39         int     val[2];
 40 } __kernel_fsid_t;
 41 
 42 typedef __kernel_uid_t __kernel_old_uid_t;
 43 typedef __kernel_gid_t __kernel_old_gid_t;
 44 typedef __kernel_uid_t __kernel_uid32_t;
 45 typedef __kernel_gid_t __kernel_gid32_t;
 46 
 47 typedef unsigned int    __kernel_old_dev_t;
 48 
 49 # ifdef __KERNEL__
 50 
 51 #  ifndef __GNUC__
 52 
 53 #define __FD_SET(d, set)        ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
 54 #define __FD_CLR(d, set)        ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
 55 #define __FD_ISSET(d, set)      (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0)
 56 #define __FD_ZERO(set)  \
 57   ((void) memset ((void *) (set), 0, sizeof (__kernel_fd_set)))
 58 
 59 #  else /* !__GNUC__ */
 60 
 61 /* With GNU C, use inline functions instead so args are evaluated only once: */
 62 
 63 #undef __FD_SET
 64 static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
 65 {
 66         unsigned long _tmp = fd / __NFDBITS;
 67         unsigned long _rem = fd % __NFDBITS;
 68         fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
 69 }
 70 
 71 #undef __FD_CLR
 72 static __inline__ void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
 73 {
 74         unsigned long _tmp = fd / __NFDBITS;
 75         unsigned long _rem = fd % __NFDBITS;
 76         fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem);
 77 }
 78 
 79 #undef __FD_ISSET
 80 static __inline__ int __FD_ISSET(unsigned long fd, const __kernel_fd_set *p)
 81 { 
 82         unsigned long _tmp = fd / __NFDBITS;
 83         unsigned long _rem = fd % __NFDBITS;
 84         return (p->fds_bits[_tmp] & (1UL<<_rem)) != 0;
 85 }
 86 
 87 /*
 88  * This will unroll the loop for the normal constant case (8 ints,
 89  * for a 256-bit fd_set)
 90  */
 91 #undef __FD_ZERO
 92 static __inline__ void __FD_ZERO(__kernel_fd_set *p)
 93 {
 94         unsigned long *tmp = p->fds_bits;
 95         int i;
 96 
 97         if (__builtin_constant_p(__FDSET_LONGS)) {
 98                 switch (__FDSET_LONGS) {
 99                       case 16:
100                         tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
101                         tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
102                         tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
103                         tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
104                         return;
105 
106                       case 8:
107                         tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
108                         tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
109                         return;
110 
111                       case 4:
112                         tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
113                         return;
114                 }
115         }
116         i = __FDSET_LONGS;
117         while (i) {
118                 i--;
119                 *tmp = 0;
120                 tmp++;
121         }
122 }
123 
124 #  endif /* !__GNUC__ */
125 # endif /* __KERNEL__ */
126 #endif /* _ASM_IA64_POSIX_TYPES_H */
127 

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

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp