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