]> bbs.cooldavid.org Git - net-next-2.6.git/blame - include/linux/posix_types.h
8139cp: fix checksum broken
[net-next-2.6.git] / include / linux / posix_types.h
CommitLineData
1da177e4
LT
1#ifndef _LINUX_POSIX_TYPES_H
2#define _LINUX_POSIX_TYPES_H
3
4#include <linux/stddef.h>
5
6/*
7 * This allows for 1024 file descriptors: if NR_OPEN is ever grown
8 * beyond that you'll have to change this too. But 1024 fd's seem to be
9 * enough even for such "real" unices like OSF/1, so hopefully this is
10 * one limit that doesn't have to be changed [again].
11 *
12 * Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
13 * <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
14 * place for them. Solved by having dummy defines in <sys/time.h>.
15 */
16
17/*
18 * Those macros may have been defined in <gnu/types.h>. But we always
19 * use the ones here.
20 */
21#undef __NFDBITS
22#define __NFDBITS (8 * sizeof(unsigned long))
23
24#undef __FD_SETSIZE
25#define __FD_SETSIZE 1024
26
27#undef __FDSET_LONGS
28#define __FDSET_LONGS (__FD_SETSIZE/__NFDBITS)
29
30#undef __FDELT
31#define __FDELT(d) ((d) / __NFDBITS)
32
33#undef __FDMASK
34#define __FDMASK(d) (1UL << ((d) % __NFDBITS))
35
36typedef struct {
37 unsigned long fds_bits [__FDSET_LONGS];
38} __kernel_fd_set;
39
40/* Type of a signal handler. */
41typedef void (*__kernel_sighandler_t)(int);
42
43/* Type of a SYSV IPC key. */
44typedef int __kernel_key_t;
45typedef int __kernel_mqd_t;
46
47#include <asm/posix_types.h>
48
49#endif /* _LINUX_POSIX_TYPES_H */