typesizes.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* bits/typesizes.h -- underlying types for *_t. Generic version.
  2. Copyright (C) 2002, 2003 Free Software Foundation, Inc.
  3. This file is part of the GNU C Library.
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Lesser General Public
  6. License as published by the Free Software Foundation; either
  7. version 2.1 of the License, or (at your option) any later version.
  8. The GNU C Library is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Lesser General Public License for more details.
  12. You should have received a copy of the GNU Lesser General Public
  13. License along with the GNU C Library; if not, see
  14. <http://www.gnu.org/licenses/>. */
  15. #ifndef _BITS_TYPES_H
  16. # error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
  17. #endif
  18. #ifndef _BITS_TYPESIZES_H
  19. #define _BITS_TYPESIZES_H 1
  20. /* See <bits/types.h> for the meaning of these macros. This file exists so
  21. that <bits/types.h> need not vary across different GNU platforms. */
  22. #define __DEV_T_TYPE __UQUAD_TYPE
  23. #define __UID_T_TYPE __U32_TYPE
  24. #define __GID_T_TYPE __U32_TYPE
  25. #define __INO_T_TYPE __ULONGWORD_TYPE
  26. #define __INO64_T_TYPE __UQUAD_TYPE
  27. #define __MODE_T_TYPE __U32_TYPE
  28. #define __NLINK_T_TYPE __UWORD_TYPE
  29. #define __OFF_T_TYPE __SLONGWORD_TYPE
  30. #define __OFF64_T_TYPE __SQUAD_TYPE
  31. #define __PID_T_TYPE __S32_TYPE
  32. #define __RLIM_T_TYPE __ULONGWORD_TYPE
  33. #define __RLIM64_T_TYPE __UQUAD_TYPE
  34. #define __BLKCNT_T_TYPE __SLONGWORD_TYPE
  35. #define __BLKCNT64_T_TYPE __SQUAD_TYPE
  36. #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
  37. #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
  38. #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
  39. #define __FSFILCNT64_T_TYPE __UQUAD_TYPE
  40. #define __ID_T_TYPE __U32_TYPE
  41. #define __CLOCK_T_TYPE __SLONGWORD_TYPE
  42. #ifdef __UCLIBC_USE_TIME64__
  43. #define __TIME_T_TYPE __S64_TYPE
  44. #else
  45. #define __TIME_T_TYPE __SLONGWORD_TYPE
  46. #endif /* __UCLIBC_USE_TIME64__ */
  47. #define __USECONDS_T_TYPE __U32_TYPE
  48. #ifdef __UCLIBC_USE_TIME64__
  49. #define __SUSECONDS_T_TYPE __S64_TYPE
  50. #else
  51. #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
  52. #endif
  53. #define __DADDR_T_TYPE __S32_TYPE
  54. #define __SWBLK_T_TYPE __SLONGWORD_TYPE
  55. #define __KEY_T_TYPE __S32_TYPE
  56. #define __CLOCKID_T_TYPE __S32_TYPE
  57. #define __TIMER_T_TYPE void *
  58. #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
  59. #define __FSID_T_TYPE struct { int __val[2]; }
  60. #define __SSIZE_T_TYPE __SWORD_TYPE
  61. /* Number of descriptors that can fit in an `fd_set'. */
  62. #define __FD_SETSIZE 1024
  63. #endif /* bits/typesizes.h */