xref: /linux/include/uapi/linux/posix_types.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _LINUX_POSIX_TYPES_H
3 #define _LINUX_POSIX_TYPES_H
4 
5 #include <linux/stddef.h>
6 
7 /*
8  * This allows for 1024 file descriptors: if NR_OPEN is ever grown
9  * beyond that you'll have to change this too. But 1024 fd's seem to be
10  * enough even for such "real" unices like OSF/1, so hopefully this is
11  * one limit that doesn't have to be changed [again].
12  *
13  * Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
14  * <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
15  * place for them. Solved by having dummy defines in <sys/time.h>.
16  */
17 
18 /*
19  * This macro may have been defined in <gnu/types.h>. But we always
20  * use the one here.
21  */
22 #undef __FD_SETSIZE
23 #define __FD_SETSIZE	1024
24 
25 typedef struct {
26 	unsigned long fds_bits[__FD_SETSIZE / (8 * sizeof(long))];
27 } __kernel_fd_set;
28 
29 /* Type of a signal handler.  */
30 typedef void (*__kernel_sighandler_t)(int);
31 
32 /* Type of a SYSV IPC key.  */
33 typedef int __kernel_key_t;
34 typedef int __kernel_mqd_t;
35 
36 #include <asm/posix_types.h>
37 
38 #endif /* _LINUX_POSIX_TYPES_H */
39