include/linux/posix_types.h
changeset 0 aa628870c1d3
equal deleted inserted replaced
-1:000000000000 0:aa628870c1d3
       
     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 
       
    36 typedef struct {
       
    37 	unsigned long fds_bits [__FDSET_LONGS];
       
    38 } __kernel_fd_set;
       
    39 
       
    40 /* Type of a signal handler.  */
       
    41 typedef void (*__kernel_sighandler_t)(int);
       
    42 
       
    43 /* Type of a SYSV IPC key.  */
       
    44 typedef int __kernel_key_t;
       
    45 typedef int __kernel_mqd_t;
       
    46 
       
    47 #include <asm/posix_types.h>
       
    48 
       
    49 #endif /* _LINUX_POSIX_TYPES_H */