add previously-missing ios646.h
[musl] / include / 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 long ptrdiff_t;
22 TYPEDEF struct __va_list * va_list;
23
24 TYPEDEF long wchar_t;
25 TYPEDEF long wint_t;
26 TYPEDEF long wctrans_t;
27 TYPEDEF long wctype_t;
28
29 TYPEDEF char      int8_t;
30 TYPEDEF short     int16_t;
31 TYPEDEF int       int32_t;
32 TYPEDEF long long int64_t;
33
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
39 TYPEDEF unsigned char      __uint8_t;
40 TYPEDEF unsigned short     __uint16_t;
41 TYPEDEF unsigned int       __uint32_t;
42 TYPEDEF unsigned long long __uint64_t;
43
44 TYPEDEF int8_t  int_least8_t;
45 TYPEDEF int16_t int_least16_t;
46 TYPEDEF int32_t int_least32_t;
47 TYPEDEF int64_t int_least64_t;
48
49 TYPEDEF uint8_t  uint_least8_t;
50 TYPEDEF uint16_t uint_least16_t;
51 TYPEDEF uint32_t uint_least32_t;
52 TYPEDEF uint64_t uint_least64_t;
53
54 TYPEDEF int8_t    int_fast8_t;
55 TYPEDEF int       int_fast16_t;
56 TYPEDEF int       int_fast32_t;
57 TYPEDEF int64_t   int_fast64_t;
58
59 TYPEDEF unsigned char      uint_fast8_t;
60 TYPEDEF unsigned int       uint_fast16_t;
61 TYPEDEF unsigned int       uint_fast32_t;
62 TYPEDEF uint64_t           uint_fast64_t;
63
64 TYPEDEF long          intptr_t;
65 TYPEDEF unsigned long uintptr_t;
66
67 TYPEDEF long long          intmax_t;
68 TYPEDEF unsigned long long uintmax_t;
69
70 TYPEDEF long time_t;
71 TYPEDEF unsigned useconds_t;
72 TYPEDEF int suseconds_t;
73 STRUCT timeval { time_t tv_sec; int tv_usec; };
74 STRUCT timespec { time_t tv_sec; long tv_nsec; };
75
76 TYPEDEF int pid_t;
77 TYPEDEF int id_t;
78 TYPEDEF int uid_t;
79 TYPEDEF int gid_t;
80 TYPEDEF int key_t;
81 TYPEDEF struct __pthread * pthread_t;
82
83 TYPEDEF long long off_t;
84
85 TYPEDEF unsigned int mode_t;
86
87 TYPEDEF unsigned int nlink_t;
88 TYPEDEF unsigned long long ino_t;
89 TYPEDEF long long dev_t;
90 TYPEDEF long blksize_t;
91 TYPEDEF long long blkcnt_t;
92 TYPEDEF unsigned long long fsblkcnt_t;
93 TYPEDEF unsigned long long fsfilcnt_t;
94
95 TYPEDEF int timer_t;
96 TYPEDEF int clockid_t;
97 TYPEDEF unsigned long clock_t;
98
99 TYPEDEF struct { unsigned long __bits[128/sizeof(long)]; } sigset_t;
100 TYPEDEF struct __siginfo siginfo_t;
101
102 TYPEDEF unsigned int socklen_t;
103 TYPEDEF unsigned short sa_family_t;
104 TYPEDEF unsigned short in_port_t;
105 TYPEDEF unsigned int in_addr_t;
106 STRUCT in_addr { in_addr_t s_addr; };
107
108 TYPEDEF struct __FILE_s FILE;
109
110 TYPEDEF int nl_item;
111
112 TYPEDEF struct __locale * locale_t;
113
114 STRUCT iovec { void *iov_base; size_t iov_len; };
115
116 EOF