[AVR] Fix LLD test (#106739)
[llvm-project.git] / libc / spec / linux.td
blob395c2a6fe853a77d554411a73f03da193b68d8f3
1 def StructEpollEvent : NamedType<"struct epoll_event">;
2 def StructEpollEventPtr : PtrType<StructEpollEvent>;
4 def StructEpollData : NamedType<"struct epoll_data">;
6 def Linux : StandardSpec<"Linux"> {
7   HeaderSpec Errno = HeaderSpec<
8       "errno.h",
9       [
10         Macro<"ENOMEDIUM">,
11         Macro<"ENOTBLK">,
12         Macro<"EMEDIUMTYPE">,
13         Macro<"EBADSLT">,
14         Macro<"ECHRNG">,
15         Macro<"ERFKILL">,
16         Macro<"EUSERS">,
17         Macro<"EBADR">,
18         Macro<"EL3HLT">,
19         Macro<"ENOTUNIQ">,
20         Macro<"EXFULL">,
21         Macro<"EHOSTDOWN">,
22         Macro<"EL3RST">,
23         Macro<"ENOPKG">,
24         Macro<"ENOCSI">,
25         Macro<"EUNATCH">,
26         Macro<"EREMCHG">,
27         Macro<"ETOOMANYREFS">,
28         Macro<"EL2HLT">,
29         Macro<"EBADFD">,
30         Macro<"EREMOTEIO">,
31         Macro<"ENAVAIL">,
32         Macro<"ELIBEXEC">,
33         Macro<"ESHUTDOWN">,
34         Macro<"ENOKEY">,
35         Macro<"ESTRPIPE">,
36         Macro<"EKEYREJECTED">,
37         Macro<"ESRMNT">,
38         Macro<"EKEYREVOKED">,
39         Macro<"EBADE">,
40         Macro<"ELIBBAD">,
41         Macro<"EISNAM">,
42         Macro<"EBFONT">,
43         Macro<"EPFNOSUPPORT">,
44         Macro<"EREMOTE">,
45         Macro<"EDEADLOCK">,
46         Macro<"ENONET">,
47         Macro<"EDOTDOT">,
48         Macro<"EKEYEXPIRED">,
49         Macro<"ELIBSCN">,
50         Macro<"ERESTART">,
51         Macro<"EBADRQC">,
52         Macro<"EUCLEAN">,
53         Macro<"ENOANO">,
54         Macro<"ELIBACC">,
55         Macro<"EHWPOISON">,
56         Macro<"ELIBMAX">,
57         Macro<"ESOCKTNOSUPPORT">,
58         Macro<"ENOTNAM">,
59         Macro<"ELNRNG">,
60         Macro<"EL2NSYNC">,
61         Macro<"EADV">,
62         Macro<"ECOMM">,
63       ]
64   >;
66   HeaderSpec Sched = HeaderSpec<
67       "sched.h",
68       [
69         Macro<"SCHED_OTHER">,
70         Macro<"SCHED_FIFO">,
71         Macro<"SCHED_RR">,
72         Macro<"SCHED_BATCH">,
73         Macro<"SCHED_ISO">,
74         Macro<"SCHED_IDLE">,
75         Macro<"SCHED_DEADLINE">,
76       ],
77       [], // Types
78       [], // Enumerations
79       []  // Functions
80   >;
82   HeaderSpec SysMMan = HeaderSpec<
83       "sys/mman.h",
84       [Macro<"MAP_ANONYMOUS">],
85       [], // Types
86       [], // Enumerations
87       [
88         FunctionSpec<
89             "mincore",
90             RetValSpec<IntType>,
91             [
92               ArgSpec<VoidPtr>,
93               ArgSpec<SizeTType>,
94               ArgSpec<UnsignedCharPtr>,
95             ]
96         >,
97         FunctionSpec<
98           "mlock2",
99           RetValSpec<IntType>,
100           [
101             ArgSpec<VoidPtr>,
102             ArgSpec<SizeTType>,
103             ArgSpec<UnsignedIntType>,
104           ]
105         >,
106       ]  // Functions
107   >;
110   HeaderSpec SysPrctl = HeaderSpec<
111       "sys/prctl.h",
112       [], // Macros
113       [], // Types
114       [], // Enumerations
115       [
116         FunctionSpec<
117           "prctl",
118           RetValSpec<IntType>,
119           [
120             ArgSpec<IntType>,
121             ArgSpec<UnsignedLongType>,
122             ArgSpec<UnsignedLongType>,
123             ArgSpec<UnsignedLongType>,
124             ArgSpec<UnsignedLongType>,
125           ]
126         >,
127       ]  // Functions
128   >;
130   HeaderSpec SysRandom = HeaderSpec<
131       "sys/random.h",
132       [
133         Macro<"GRND_RANDOM">,
134         Macro<"GRND_NONBLOCK">,
135         Macro<"GRND_INSECURE">,
136       ],
137       [SizeTType, SSizeTType], // Types
138       [], // Enumerations
139       [
140         FunctionSpec<
141           "getrandom",
142           RetValSpec<SSizeTType>,
143           [
144             ArgSpec<VoidPtr>,
145             ArgSpec<SizeTType>,
146             ArgSpec<UnsignedIntType>
147           ]
148         >,
149       ]
150   >;
152   HeaderSpec SysTime = HeaderSpec<
153       "sys/time.h",
154       [
155         Macro<"timeradd">,
156         Macro<"timersub">,
157         Macro<"timerclear">,
158         Macro<"timerisset">,
159         Macro<"timercmp">,
160       ],
161       [StructTimevalType], // Types
162       [], // Enumerations
163       []  // Functions
164   >;
167   HeaderSpec SysEpoll = HeaderSpec<
168       "sys/epoll.h",
169       [], // Macros
170       [
171         StructEpollEvent,
172         StructEpollData,
173         SigSetType,
174         StructTimeSpec,
175       ], // Types
176       [], // Enumerations
177       [
178         FunctionSpec<
179           "epoll_create",
180           RetValSpec<IntType>,
181           [
182             ArgSpec<IntType>
183           ]
184         >,
185         FunctionSpec<
186           "epoll_create1",
187           RetValSpec<IntType>,
188           [
189             ArgSpec<IntType>
190           ]
191         >,
192         FunctionSpec<
193           "epoll_ctl",
194           RetValSpec<IntType>,
195           [
196             ArgSpec<IntType>,
197             ArgSpec<IntType>,
198             ArgSpec<IntType>,
199             ArgSpec<StructEpollEventPtr>
200           ]
201         >,
202         FunctionSpec<
203           "epoll_wait",
204           RetValSpec<IntType>,
205           [
206             ArgSpec<IntType>,
207             ArgSpec<StructEpollEventPtr>,
208             ArgSpec<IntType>,
209             ArgSpec<IntType>
210           ]
211         >,
212         FunctionSpec<
213           "epoll_pwait",
214           RetValSpec<IntType>,
215           [
216             ArgSpec<IntType>,
217             ArgSpec<StructEpollEventPtr>,
218             ArgSpec<IntType>,
219             ArgSpec<IntType>,
220             ArgSpec<ConstSigSetPtrType>
221           ]
222         >,
223         FunctionSpec<
224           "epoll_pwait2",
225           RetValSpec<IntType>,
226           [
227             ArgSpec<IntType>,
228             ArgSpec<StructEpollEventPtr>,
229             ArgSpec<IntType>,
230             ArgSpec<ConstStructTimeSpecPtr>,
231             ArgSpec<ConstSigSetPtrType>
232           ]
233         >,
234       ]  // Functions
235   >;
237   HeaderSpec Signal = HeaderSpec<
238       "signal.h",
239       [
240         Macro<"NSIG">,
242         Macro<"SIGHUP">,
243         Macro<"SIGINT">,
244         Macro<"SIGQUIT">,
245         Macro<"SIGILL">,
246         Macro<"SIGTRAP">,
247         Macro<"SIGABRT">,
248         Macro<"SIGIOT">,
249         Macro<"SIGBUS">,
250         Macro<"SIGFPE">,
251         Macro<"SIGKILL">,
252         Macro<"SIGUSR1">,
253         Macro<"SIGSEGV">,
254         Macro<"SIGUSR2">,
255         Macro<"SIGPIPE">,
256         Macro<"SIGALRM">,
257         Macro<"SIGTERM">,
258         Macro<"SIGSTKFLT">,
259         Macro<"SIGCHLD">,
260         Macro<"SIGCONT">,
261         Macro<"SIGSTOP">,
262         Macro<"SIGTSTP">,
263         Macro<"SIGTTIN">,
264         Macro<"SIGTTOU">,
265         Macro<"SIGURG">,
266         Macro<"SIGXCPU">,
267         Macro<"SIGXFSZ">,
268         Macro<"SIGVTALRM">,
269         Macro<"SIGPROF">,
270         Macro<"SIGWINCH">,
271         Macro<"SIGIO">,
272         Macro<"SIGPOLL">,
273         Macro<"SIGPWR">,
274         Macro<"SIGSYS">,
275         Macro<"SIGUNUSED">,
276       ]
277   >;
279   let Headers = [
280     Errno,
281     SysEpoll,
282     SysMMan,
283     SysPrctl,
284     SysRandom,
285     SysTime,
286     Signal,
287   ];