posix_types.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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