alltypes.h.sh 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. #!/bin/sh
  2. sed -e << EOF \
  3. '/^TYPEDEF/s/TYPEDEF \(.*\) \([^ ]*\);$/#if defined(__NEED_\2) \&\& !defined(__DEFINED_\2)\
  4. typedef \1 \2;\
  5. #define __DEFINED_\2\
  6. #endif\
  7. /
  8. /^STRUCT/s/STRUCT * \([^ ]*\) \(.*\);$/#if defined(__NEED_struct_\1) \&\& !defined(__DEFINED_struct_\1)\
  9. struct \1 \2;\
  10. #define __DEFINED_struct_\1\
  11. #endif\
  12. /
  13. /^UNION/s/UNION * \([^ ]*\) \(.*\);$/#if defined(__NEED_union_\1) \&\& !defined(__DEFINED_union_\1)\
  14. union \1 \2;\
  15. #define __DEFINED_union_\1\
  16. #endif\
  17. /'
  18. TYPEDEF unsigned size_t;
  19. TYPEDEF int ssize_t;
  20. TYPEDEF long ptrdiff_t;
  21. TYPEDEF struct __va_list * va_list;
  22. TYPEDEF long wchar_t;
  23. TYPEDEF long wint_t;
  24. TYPEDEF long wctrans_t;
  25. TYPEDEF long wctype_t;
  26. TYPEDEF char int8_t;
  27. TYPEDEF short int16_t;
  28. TYPEDEF int int32_t;
  29. TYPEDEF long long int64_t;
  30. TYPEDEF unsigned char uint8_t;
  31. TYPEDEF unsigned short uint16_t;
  32. TYPEDEF unsigned int uint32_t;
  33. TYPEDEF unsigned long long uint64_t;
  34. TYPEDEF unsigned char __uint8_t;
  35. TYPEDEF unsigned short __uint16_t;
  36. TYPEDEF unsigned int __uint32_t;
  37. TYPEDEF unsigned long long __uint64_t;
  38. TYPEDEF int8_t int_least8_t;
  39. TYPEDEF int16_t int_least16_t;
  40. TYPEDEF int32_t int_least32_t;
  41. TYPEDEF int64_t int_least64_t;
  42. TYPEDEF uint8_t uint_least8_t;
  43. TYPEDEF uint16_t uint_least16_t;
  44. TYPEDEF uint32_t uint_least32_t;
  45. TYPEDEF uint64_t uint_least64_t;
  46. TYPEDEF int8_t int_fast8_t;
  47. TYPEDEF int int_fast16_t;
  48. TYPEDEF int int_fast32_t;
  49. TYPEDEF int64_t int_fast64_t;
  50. TYPEDEF unsigned char uint_fast8_t;
  51. TYPEDEF unsigned int uint_fast16_t;
  52. TYPEDEF unsigned int uint_fast32_t;
  53. TYPEDEF uint64_t uint_fast64_t;
  54. TYPEDEF long intptr_t;
  55. TYPEDEF unsigned long uintptr_t;
  56. TYPEDEF long long intmax_t;
  57. TYPEDEF unsigned long long uintmax_t;
  58. TYPEDEF long time_t;
  59. TYPEDEF int suseconds_t;
  60. STRUCT timeval { time_t tv_sec; int tv_usec; };
  61. STRUCT timespec { time_t tv_sec; long tv_nsec; };
  62. TYPEDEF int pid_t;
  63. TYPEDEF int id_t;
  64. TYPEDEF int uid_t;
  65. TYPEDEF int gid_t;
  66. TYPEDEF int key_t;
  67. TYPEDEF struct __pthread * pthread_t;
  68. TYPEDEF int pthread_once_t;
  69. TYPEDEF int pthread_key_t;
  70. TYPEDEF int pthread_spinlock_t;
  71. TYPEDEF struct { union { int __i[9]; size_t __s[9]; } __u; } pthread_attr_t;
  72. TYPEDEF unsigned pthread_mutexattr_t;
  73. TYPEDEF unsigned pthread_condattr_t;
  74. TYPEDEF unsigned pthread_barrierattr_t;
  75. TYPEDEF struct { unsigned __attr[2]; } pthread_rwlockattr_t;
  76. TYPEDEF struct { union { int __i[6]; void *__p[6]; } __u; } pthread_mutex_t;
  77. TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
  78. TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
  79. TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;
  80. TYPEDEF long long off_t;
  81. TYPEDEF unsigned int mode_t;
  82. TYPEDEF unsigned int nlink_t;
  83. TYPEDEF unsigned long long ino_t;
  84. TYPEDEF long long dev_t;
  85. TYPEDEF long blksize_t;
  86. TYPEDEF long long blkcnt_t;
  87. TYPEDEF unsigned long long fsblkcnt_t;
  88. TYPEDEF unsigned long long fsfilcnt_t;
  89. TYPEDEF void * timer_t;
  90. TYPEDEF int clockid_t;
  91. TYPEDEF unsigned long clock_t;
  92. TYPEDEF struct { unsigned long __bits[128/sizeof(long)]; } sigset_t;
  93. TYPEDEF struct __siginfo siginfo_t;
  94. TYPEDEF unsigned int socklen_t;
  95. TYPEDEF unsigned short sa_family_t;
  96. TYPEDEF unsigned short in_port_t;
  97. TYPEDEF unsigned int in_addr_t;
  98. STRUCT in_addr { in_addr_t s_addr; };
  99. TYPEDEF struct __FILE_s FILE;
  100. TYPEDEF int nl_item;
  101. TYPEDEF struct __locale * locale_t;
  102. STRUCT iovec { void *iov_base; size_t iov_len; };
  103. EOF