alltypes.h.sh 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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 int ptrdiff_t;
  21. TYPEDEF __builtin_va_list va_list;
  22. TYPEDEF __builtin_va_list __isoc_va_list;
  23. #ifndef __cplusplus
  24. TYPEDEF long wchar_t;
  25. #endif
  26. TYPEDEF int wint_t;
  27. TYPEDEF const int * wctrans_t;
  28. TYPEDEF unsigned long wctype_t;
  29. TYPEDEF signed char int8_t;
  30. TYPEDEF short int16_t;
  31. TYPEDEF int int32_t;
  32. TYPEDEF long long int64_t;
  33. TYPEDEF unsigned char uint8_t;
  34. TYPEDEF unsigned short uint16_t;
  35. TYPEDEF unsigned int uint32_t;
  36. TYPEDEF unsigned long long uint64_t;
  37. TYPEDEF unsigned short __uint16_t;
  38. TYPEDEF unsigned int __uint32_t;
  39. TYPEDEF unsigned long long __uint64_t;
  40. TYPEDEF int8_t int_fast8_t;
  41. TYPEDEF int int_fast16_t;
  42. TYPEDEF int int_fast32_t;
  43. TYPEDEF int64_t int_fast64_t;
  44. TYPEDEF unsigned char uint_fast8_t;
  45. TYPEDEF unsigned int uint_fast16_t;
  46. TYPEDEF unsigned int uint_fast32_t;
  47. TYPEDEF uint64_t uint_fast64_t;
  48. TYPEDEF int intptr_t;
  49. TYPEDEF unsigned uintptr_t;
  50. TYPEDEF long long intmax_t;
  51. TYPEDEF unsigned long long uintmax_t;
  52. TYPEDEF float float_t;
  53. TYPEDEF double double_t;
  54. TYPEDEF long time_t;
  55. TYPEDEF int suseconds_t;
  56. TYPEDEF unsigned useconds_t;
  57. STRUCT timeval { time_t tv_sec; int tv_usec; };
  58. STRUCT timespec { time_t tv_sec; long tv_nsec; };
  59. TYPEDEF int pid_t;
  60. TYPEDEF int id_t;
  61. TYPEDEF int uid_t;
  62. TYPEDEF int gid_t;
  63. TYPEDEF int key_t;
  64. TYPEDEF struct __pthread * pthread_t;
  65. TYPEDEF int pthread_once_t;
  66. TYPEDEF int pthread_key_t;
  67. TYPEDEF int pthread_spinlock_t;
  68. TYPEDEF struct { union { int __i[9]; size_t __s[9]; } __u; } pthread_attr_t;
  69. TYPEDEF unsigned pthread_mutexattr_t;
  70. TYPEDEF unsigned pthread_condattr_t;
  71. TYPEDEF unsigned pthread_barrierattr_t;
  72. TYPEDEF struct { unsigned __attr[2]; } pthread_rwlockattr_t;
  73. TYPEDEF struct { union { int __i[6]; void *__p[6]; } __u; } pthread_mutex_t;
  74. TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
  75. TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
  76. TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;
  77. TYPEDEF long long off_t;
  78. TYPEDEF unsigned int mode_t;
  79. TYPEDEF unsigned int nlink_t;
  80. TYPEDEF unsigned long long ino_t;
  81. TYPEDEF unsigned long long dev_t;
  82. TYPEDEF unsigned long blksize_t;
  83. TYPEDEF unsigned long long blkcnt_t;
  84. TYPEDEF unsigned long long fsblkcnt_t;
  85. TYPEDEF unsigned long long fsfilcnt_t;
  86. TYPEDEF void * timer_t;
  87. TYPEDEF int clockid_t;
  88. TYPEDEF long clock_t;
  89. TYPEDEF struct { unsigned long __bits[128/sizeof(long)]; } sigset_t;
  90. TYPEDEF struct __siginfo siginfo_t;
  91. TYPEDEF unsigned int socklen_t;
  92. TYPEDEF unsigned short sa_family_t;
  93. TYPEDEF unsigned short in_port_t;
  94. TYPEDEF unsigned int in_addr_t;
  95. STRUCT in_addr { in_addr_t s_addr; };
  96. TYPEDEF struct __FILE_s FILE;
  97. TYPEDEF int nl_item;
  98. TYPEDEF struct __locale * locale_t;
  99. STRUCT iovec { void *iov_base; size_t iov_len; };
  100. EOF