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
25typedef struct {
26 unsigned long fds_bits[__FD_SETSIZE / (8 * sizeof(long))];
27} __kernel_fd_set;
28
29/* Type of a signal handler. */
30typedef void (*__kernel_sighandler_t)(int);
31
32/* Type of a SYSV IPC key. */
33typedef int __kernel_key_t;
34typedef int __kernel_mqd_t;
35
36#include <asm/posix_types.h>
37
38#endif /* _LINUX_POSIX_TYPES_H */
39

source code of linux/include/uapi/linux/posix_types.h