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
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.