Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.13.7.
  1#ifndef __ASM_GENERIC_POSIX_TYPES_H
  2#define __ASM_GENERIC_POSIX_TYPES_H
  3
  4#include <asm/bitsperlong.h>
  5/*
  6 * This file is generally used by user-level software, so you need to
  7 * be a little careful about namespace pollution etc.
  8 *
  9 * First the types that are often defined in different ways across
 10 * architectures, so that you can override them.
 11 */
 12
 13#ifndef __kernel_ino_t
 14typedef unsigned long	__kernel_ino_t;
 15#endif
 16
 17#ifndef __kernel_mode_t
 18typedef unsigned int	__kernel_mode_t;
 19#endif
 20
 21#ifndef __kernel_nlink_t
 22typedef unsigned long	__kernel_nlink_t;
 23#endif
 24
 25#ifndef __kernel_pid_t
 26typedef int		__kernel_pid_t;
 27#endif
 28
 29#ifndef __kernel_ipc_pid_t
 30typedef int		__kernel_ipc_pid_t;
 31#endif
 32
 33#ifndef __kernel_uid_t
 34typedef unsigned int	__kernel_uid_t;
 35typedef unsigned int	__kernel_gid_t;
 36#endif
 37
 38#ifndef __kernel_suseconds_t
 39typedef long		__kernel_suseconds_t;
 40#endif
 41
 42#ifndef __kernel_daddr_t
 43typedef int		__kernel_daddr_t;
 44#endif
 45
 46#ifndef __kernel_uid32_t
 47typedef __kernel_uid_t	__kernel_uid32_t;
 48typedef __kernel_gid_t	__kernel_gid32_t;
 49#endif
 50
 51#ifndef __kernel_old_uid_t
 52typedef __kernel_uid_t	__kernel_old_uid_t;
 53typedef __kernel_gid_t	__kernel_old_gid_t;
 54#endif
 55
 56#ifndef __kernel_old_dev_t
 57typedef unsigned int	__kernel_old_dev_t;
 58#endif
 59
 60/*
 61 * Most 32 bit architectures use "unsigned int" size_t,
 62 * and all 64 bit architectures use "unsigned long" size_t.
 63 */
 64#ifndef __kernel_size_t
 65#if __BITS_PER_LONG != 64
 66typedef unsigned int	__kernel_size_t;
 67typedef int		__kernel_ssize_t;
 68typedef int		__kernel_ptrdiff_t;
 69#else
 70typedef unsigned long	__kernel_size_t;
 71typedef long		__kernel_ssize_t;
 72typedef long		__kernel_ptrdiff_t;
 73#endif
 74#endif
 75
 76/*
 77 * anything below here should be completely generic
 78 */
 79typedef long		__kernel_off_t;
 80typedef long long	__kernel_loff_t;
 81typedef long		__kernel_time_t;
 82typedef long		__kernel_clock_t;
 83typedef int		__kernel_timer_t;
 84typedef int		__kernel_clockid_t;
 85typedef char *		__kernel_caddr_t;
 86typedef unsigned short	__kernel_uid16_t;
 87typedef unsigned short	__kernel_gid16_t;
 88
 89typedef struct {
 90	int	val[2];
 91} __kernel_fsid_t;
 92
 93#ifdef __KERNEL__
 94
 95#undef __FD_SET
 96static inline void __FD_SET(unsigned long __fd, __kernel_fd_set *__fdsetp)
 97{
 98	unsigned long __tmp = __fd / __NFDBITS;
 99	unsigned long __rem = __fd % __NFDBITS;
100	__fdsetp->fds_bits[__tmp] |= (1UL<<__rem);
101}
102
103#undef __FD_CLR
104static inline void __FD_CLR(unsigned long __fd, __kernel_fd_set *__fdsetp)
105{
106	unsigned long __tmp = __fd / __NFDBITS;
107	unsigned long __rem = __fd % __NFDBITS;
108	__fdsetp->fds_bits[__tmp] &= ~(1UL<<__rem);
109}
110
111#undef __FD_ISSET
112static inline int __FD_ISSET(unsigned long __fd, const __kernel_fd_set *__p)
113{
114	unsigned long __tmp = __fd / __NFDBITS;
115	unsigned long __rem = __fd % __NFDBITS;
116	return (__p->fds_bits[__tmp] & (1UL<<__rem)) != 0;
117}
118
119/*
120 * This will unroll the loop for the normal constant case (8 ints,
121 * for a 256-bit fd_set)
122 */
123#undef __FD_ZERO
124static inline void __FD_ZERO(__kernel_fd_set *__p)
125{
126	unsigned long *__tmp = __p->fds_bits;
127	int __i;
128
129	if (__builtin_constant_p(__FDSET_LONGS)) {
130		switch (__FDSET_LONGS) {
131		case 16:
132			__tmp[ 0] = 0; __tmp[ 1] = 0;
133			__tmp[ 2] = 0; __tmp[ 3] = 0;
134			__tmp[ 4] = 0; __tmp[ 5] = 0;
135			__tmp[ 6] = 0; __tmp[ 7] = 0;
136			__tmp[ 8] = 0; __tmp[ 9] = 0;
137			__tmp[10] = 0; __tmp[11] = 0;
138			__tmp[12] = 0; __tmp[13] = 0;
139			__tmp[14] = 0; __tmp[15] = 0;
140			return;
141
142		case 8:
143			__tmp[ 0] = 0; __tmp[ 1] = 0;
144			__tmp[ 2] = 0; __tmp[ 3] = 0;
145			__tmp[ 4] = 0; __tmp[ 5] = 0;
146			__tmp[ 6] = 0; __tmp[ 7] = 0;
147			return;
148
149		case 4:
150			__tmp[ 0] = 0; __tmp[ 1] = 0;
151			__tmp[ 2] = 0; __tmp[ 3] = 0;
152			return;
153		}
154	}
155	__i = __FDSET_LONGS;
156	while (__i) {
157		__i--;
158		*__tmp = 0;
159		__tmp++;
160	}
161}
162
163#endif /* __KERNEL__ */
164
165#endif /* __ASM_GENERIC_POSIX_TYPES_H */