linux/include/linux/posix_types.h
<<
>>
Prefs
   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 */
  50