381e2c9b80ac40ecb45f246b0b31a61133c4f265
[musl] / arch / i386 / bits / alltypes.h.sh
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
19 TYPEDEF unsigned size_t;
20 TYPEDEF int ssize_t;
21 TYPEDEF int ptrdiff_t;
22
23 #if __GNUC__ >= 3
24 TYPEDEF __builtin_va_list va_list;
25 TYPEDEF __builtin_va_list __isoc_va_list;
26 #else
27 TYPEDEF struct __va_list * va_list;
28 TYPEDEF struct __va_list * __isoc_va_list;
29 #endif
30
31 #ifndef __cplusplus
32 #ifdef __WCHAR_TYPE__
33 TYPEDEF __WCHAR_TYPE__ wchar_t;
34 #else
35 TYPEDEF long wchar_t;
36 #endif
37 #endif
38 TYPEDEF long wint_t;
39 TYPEDEF const int * wctrans_t;
40 TYPEDEF unsigned long wctype_t;
41
42 TYPEDEF signed char int8_t;
43 TYPEDEF short       int16_t;
44 TYPEDEF int         int32_t;
45 TYPEDEF long long   int64_t;
46
47 TYPEDEF unsigned char      uint8_t;
48 TYPEDEF unsigned short     uint16_t;
49 TYPEDEF unsigned int       uint32_t;
50 TYPEDEF unsigned long long uint64_t;
51
52 TYPEDEF unsigned short     __uint16_t;
53 TYPEDEF unsigned int       __uint32_t;
54 TYPEDEF unsigned long long __uint64_t;
55
56 TYPEDEF int8_t    int_fast8_t;
57 TYPEDEF int       int_fast16_t;
58 TYPEDEF int       int_fast32_t;
59 TYPEDEF int64_t   int_fast64_t;
60
61 TYPEDEF unsigned char      uint_fast8_t;
62 TYPEDEF unsigned int       uint_fast16_t;
63 TYPEDEF unsigned int       uint_fast32_t;
64 TYPEDEF uint64_t           uint_fast64_t;
65
66 TYPEDEF long          intptr_t;
67 TYPEDEF unsigned long uintptr_t;
68
69 TYPEDEF long long          intmax_t;
70 TYPEDEF unsigned long long uintmax_t;
71
72 #if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
73 TYPEDEF float float_t;
74 TYPEDEF double double_t;
75 #else
76 TYPEDEF long double float_t;
77 TYPEDEF long double double_t;
78 #endif
79
80 TYPEDEF long time_t;
81 TYPEDEF int suseconds_t;
82 TYPEDEF unsigned useconds_t;
83 STRUCT timeval { time_t tv_sec; int tv_usec; };
84 STRUCT timespec { time_t tv_sec; long tv_nsec; };
85
86 TYPEDEF int pid_t;
87 TYPEDEF unsigned id_t;
88 TYPEDEF unsigned uid_t;
89 TYPEDEF unsigned gid_t;
90 TYPEDEF int key_t;
91
92 TYPEDEF struct __pthread * pthread_t;
93 TYPEDEF int pthread_once_t;
94 TYPEDEF int pthread_key_t;
95 TYPEDEF int pthread_spinlock_t;
96
97 TYPEDEF struct { union { int __i[9]; size_t __s[9]; } __u; } pthread_attr_t;
98 TYPEDEF unsigned pthread_mutexattr_t;
99 TYPEDEF unsigned pthread_condattr_t;
100 TYPEDEF unsigned pthread_barrierattr_t;
101 TYPEDEF struct { unsigned __attr[2]; } pthread_rwlockattr_t;
102
103 TYPEDEF struct { union { int __i[6]; void *__p[6]; } __u; } pthread_mutex_t;
104 TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
105 TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
106 TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;
107
108 TYPEDEF long long off_t;
109
110 TYPEDEF unsigned int mode_t;
111
112 TYPEDEF unsigned int nlink_t;
113 TYPEDEF unsigned long long ino_t;
114 TYPEDEF long long dev_t;
115 TYPEDEF long blksize_t;
116 TYPEDEF long long blkcnt_t;
117 TYPEDEF unsigned long long fsblkcnt_t;
118 TYPEDEF unsigned long long fsfilcnt_t;
119
120 TYPEDEF void * timer_t;
121 TYPEDEF int clockid_t;
122 TYPEDEF long clock_t;
123
124 TYPEDEF struct { unsigned long __bits[128/sizeof(long)]; } sigset_t;
125 TYPEDEF struct __siginfo siginfo_t;
126
127 TYPEDEF unsigned int socklen_t;
128 TYPEDEF unsigned short sa_family_t;
129 TYPEDEF unsigned short in_port_t;
130 TYPEDEF unsigned int in_addr_t;
131 STRUCT in_addr { in_addr_t s_addr; };
132
133 TYPEDEF struct __FILE_s FILE;
134
135 TYPEDEF int nl_item;
136
137 TYPEDEF struct __locale * locale_t;
138
139 STRUCT iovec { void *iov_base; size_t iov_len; };
140
141 EOF