@@ -2,6 +2,21 @@ pub type c_char = u8;
2
2
pub type wchar_t = u32 ;
3
3
4
4
s ! {
5
+ pub struct sigaction {
6
+ pub sa_sigaction: :: sighandler_t,
7
+ pub sa_mask: :: sigset_t,
8
+ pub sa_flags: :: c_int,
9
+ pub sa_restorer: :: Option <extern fn ( ) >,
10
+ }
11
+
12
+ pub struct flock {
13
+ pub l_type: :: c_short,
14
+ pub l_whence: :: c_short,
15
+ pub l_start: :: off_t,
16
+ pub l_len: :: off_t,
17
+ pub l_pid: :: pid_t,
18
+ }
19
+
5
20
pub struct ipc_perm {
6
21
pub __key: :: key_t,
7
22
pub uid: :: uid_t,
@@ -112,18 +127,167 @@ s! {
112
127
pub c_ispeed: :: speed_t,
113
128
pub c_ospeed: :: speed_t,
114
129
}
130
+
131
+ pub struct siginfo_t {
132
+ pub si_signo: :: c_int,
133
+ pub si_errno: :: c_int,
134
+ pub si_code: :: c_int,
135
+ #[ doc( hidden) ]
136
+ #[ deprecated(
137
+ since="0.2.54" ,
138
+ note="Please leave a comment on \
139
+ https://github.com/rust-lang/libc/pull/1316 if you're using \
140
+ this field"
141
+ ) ]
142
+ pub _pad: [ :: c_int; 29 ] ,
143
+ _align: [ usize ; 0 ] ,
144
+ }
145
+
146
+ pub struct stack_t {
147
+ pub ss_sp: * mut :: c_void,
148
+ pub ss_flags: :: c_int,
149
+ pub ss_size: :: size_t
150
+ }
115
151
}
116
152
153
+ pub const VEOF : usize = 4 ;
154
+ pub const RTLD_DEEPBIND : :: c_int = 0x8 ;
155
+ pub const RTLD_GLOBAL : :: c_int = 0x100 ;
156
+ pub const RTLD_NOLOAD : :: c_int = 0x4 ;
117
157
pub const O_DIRECT : :: c_int = 0x10000 ;
118
158
pub const O_DIRECTORY : :: c_int = 0x4000 ;
119
159
pub const O_NOFOLLOW : :: c_int = 0x8000 ;
120
160
pub const O_LARGEFILE : :: c_int = 0o400000 ;
161
+ pub const O_APPEND : :: c_int = 1024 ;
162
+ pub const O_CREAT : :: c_int = 64 ;
163
+ pub const O_EXCL : :: c_int = 128 ;
164
+ pub const O_NOCTTY : :: c_int = 256 ;
165
+ pub const O_NONBLOCK : :: c_int = 2048 ;
166
+ pub const O_SYNC : :: c_int = 1052672 ;
167
+ pub const O_RSYNC : :: c_int = 1052672 ;
168
+ pub const O_DSYNC : :: c_int = 4096 ;
169
+ pub const O_FSYNC : :: c_int = 0x101000 ;
170
+ pub const O_ASYNC : :: c_int = 0x2000 ;
171
+ pub const O_NDELAY : :: c_int = 0x800 ;
172
+ pub const RLIMIT_NOFILE : :: __rlimit_resource_t = 7 ;
173
+ pub const RLIMIT_NPROC : :: __rlimit_resource_t = 6 ;
174
+ pub const RLIMIT_RSS : :: __rlimit_resource_t = 5 ;
175
+ pub const RLIMIT_AS : :: __rlimit_resource_t = 9 ;
176
+ pub const RLIMIT_MEMLOCK : :: __rlimit_resource_t = 8 ;
121
177
122
178
pub const MAP_LOCKED : :: c_int = 0x02000 ;
123
179
pub const MAP_NORESERVE : :: c_int = 0x04000 ;
180
+ pub const MAP_ANON : :: c_int = 0x0020 ;
181
+ pub const MAP_ANONYMOUS : :: c_int = 0x0020 ;
182
+ pub const MAP_DENYWRITE : :: c_int = 0x0800 ;
183
+ pub const MAP_EXECUTABLE : :: c_int = 0x01000 ;
184
+ pub const MAP_POPULATE : :: c_int = 0x08000 ;
185
+ pub const MAP_NONBLOCK : :: c_int = 0x010000 ;
186
+ pub const MAP_STACK : :: c_int = 0x020000 ;
187
+ pub const MAP_HUGETLB : :: c_int = 0x040000 ;
188
+ pub const MAP_GROWSDOWN : :: c_int = 0x0100 ;
189
+
190
+ pub const SOL_SOCKET : :: c_int = 1 ;
124
191
125
192
pub const EDEADLOCK : :: c_int = 35 ;
193
+ pub const EUCLEAN : :: c_int = 117 ;
194
+ pub const ENOTNAM : :: c_int = 118 ;
195
+ pub const ENAVAIL : :: c_int = 119 ;
196
+ pub const EISNAM : :: c_int = 120 ;
197
+ pub const EREMOTEIO : :: c_int = 121 ;
198
+ pub const EDEADLK : :: c_int = 35 ;
199
+ pub const ENAMETOOLONG : :: c_int = 36 ;
200
+ pub const ENOLCK : :: c_int = 37 ;
201
+ pub const ENOSYS : :: c_int = 38 ;
202
+ pub const ENOTEMPTY : :: c_int = 39 ;
203
+ pub const ELOOP : :: c_int = 40 ;
204
+ pub const ENOMSG : :: c_int = 42 ;
205
+ pub const EIDRM : :: c_int = 43 ;
206
+ pub const ECHRNG : :: c_int = 44 ;
207
+ pub const EL2NSYNC : :: c_int = 45 ;
208
+ pub const EL3HLT : :: c_int = 46 ;
209
+ pub const EL3RST : :: c_int = 47 ;
210
+ pub const ELNRNG : :: c_int = 48 ;
211
+ pub const EUNATCH : :: c_int = 49 ;
212
+ pub const ENOCSI : :: c_int = 50 ;
213
+ pub const EL2HLT : :: c_int = 51 ;
214
+ pub const EBADE : :: c_int = 52 ;
215
+ pub const EBADR : :: c_int = 53 ;
216
+ pub const EXFULL : :: c_int = 54 ;
217
+ pub const ENOANO : :: c_int = 55 ;
218
+ pub const EBADRQC : :: c_int = 56 ;
219
+ pub const EBADSLT : :: c_int = 57 ;
220
+ pub const EMULTIHOP : :: c_int = 72 ;
221
+ pub const EOVERFLOW : :: c_int = 75 ;
222
+ pub const ENOTUNIQ : :: c_int = 76 ;
223
+ pub const EBADFD : :: c_int = 77 ;
224
+ pub const EBADMSG : :: c_int = 74 ;
225
+ pub const EREMCHG : :: c_int = 78 ;
226
+ pub const ELIBACC : :: c_int = 79 ;
227
+ pub const ELIBBAD : :: c_int = 80 ;
228
+ pub const ELIBSCN : :: c_int = 81 ;
229
+ pub const ELIBMAX : :: c_int = 82 ;
230
+ pub const ELIBEXEC : :: c_int = 83 ;
231
+ pub const EILSEQ : :: c_int = 84 ;
232
+ pub const ERESTART : :: c_int = 85 ;
233
+ pub const ESTRPIPE : :: c_int = 86 ;
234
+ pub const EUSERS : :: c_int = 87 ;
235
+ pub const ENOTSOCK : :: c_int = 88 ;
236
+ pub const EDESTADDRREQ : :: c_int = 89 ;
237
+ pub const EMSGSIZE : :: c_int = 90 ;
238
+ pub const EPROTOTYPE : :: c_int = 91 ;
239
+ pub const ENOPROTOOPT : :: c_int = 92 ;
240
+ pub const EPROTONOSUPPORT : :: c_int = 93 ;
241
+ pub const ESOCKTNOSUPPORT : :: c_int = 94 ;
242
+ pub const EOPNOTSUPP : :: c_int = 95 ;
243
+ pub const EPFNOSUPPORT : :: c_int = 96 ;
244
+ pub const EAFNOSUPPORT : :: c_int = 97 ;
245
+ pub const EADDRINUSE : :: c_int = 98 ;
246
+ pub const EADDRNOTAVAIL : :: c_int = 99 ;
247
+ pub const ENETDOWN : :: c_int = 100 ;
248
+ pub const ENETUNREACH : :: c_int = 101 ;
249
+ pub const ENETRESET : :: c_int = 102 ;
250
+ pub const ECONNABORTED : :: c_int = 103 ;
251
+ pub const ECONNRESET : :: c_int = 104 ;
252
+ pub const ENOBUFS : :: c_int = 105 ;
253
+ pub const EISCONN : :: c_int = 106 ;
254
+ pub const ENOTCONN : :: c_int = 107 ;
255
+ pub const ESHUTDOWN : :: c_int = 108 ;
256
+ pub const ETOOMANYREFS : :: c_int = 109 ;
257
+ pub const ETIMEDOUT : :: c_int = 110 ;
258
+ pub const ECONNREFUSED : :: c_int = 111 ;
259
+ pub const EHOSTDOWN : :: c_int = 112 ;
260
+ pub const EHOSTUNREACH : :: c_int = 113 ;
261
+ pub const EALREADY : :: c_int = 114 ;
262
+ pub const EINPROGRESS : :: c_int = 115 ;
263
+ pub const ESTALE : :: c_int = 116 ;
264
+ pub const EDQUOT : :: c_int = 122 ;
265
+ pub const ENOMEDIUM : :: c_int = 123 ;
266
+ pub const EMEDIUMTYPE : :: c_int = 124 ;
267
+ pub const ECANCELED : :: c_int = 125 ;
268
+ pub const ENOKEY : :: c_int = 126 ;
269
+ pub const EKEYEXPIRED : :: c_int = 127 ;
270
+ pub const EKEYREVOKED : :: c_int = 128 ;
271
+ pub const EKEYREJECTED : :: c_int = 129 ;
272
+ pub const EOWNERDEAD : :: c_int = 130 ;
273
+ pub const ENOTRECOVERABLE : :: c_int = 131 ;
274
+ pub const EHWPOISON : :: c_int = 133 ;
275
+ pub const ERFKILL : :: c_int = 132 ;
126
276
277
+ pub const SO_REUSEADDR : :: c_int = 2 ;
278
+ pub const SO_TYPE : :: c_int = 3 ;
279
+ pub const SO_ERROR : :: c_int = 4 ;
280
+ pub const SO_DONTROUTE : :: c_int = 5 ;
281
+ pub const SO_BROADCAST : :: c_int = 6 ;
282
+ pub const SO_SNDBUF : :: c_int = 7 ;
283
+ pub const SO_RCVBUF : :: c_int = 8 ;
284
+ pub const SO_KEEPALIVE : :: c_int = 9 ;
285
+ pub const SO_OOBINLINE : :: c_int = 10 ;
286
+ pub const SO_LINGER : :: c_int = 13 ;
287
+ pub const SO_REUSEPORT : :: c_int = 15 ;
288
+ pub const SO_ACCEPTCONN : :: c_int = 30 ;
289
+ pub const SO_PROTOCOL : :: c_int = 38 ;
290
+ pub const SO_DOMAIN : :: c_int = 39 ;
127
291
pub const SO_PASSCRED : :: c_int = 16 ;
128
292
pub const SO_PEERCRED : :: c_int = 17 ;
129
293
pub const SO_RCVLOWAT : :: c_int = 18 ;
@@ -133,12 +297,56 @@ pub const SO_SNDTIMEO: ::c_int = 21;
133
297
pub const SO_SNDBUFFORCE : :: c_int = 32 ;
134
298
pub const SO_RCVBUFFORCE : :: c_int = 33 ;
135
299
300
+ pub const SA_SIGINFO : :: c_int = 0x00000004 ;
301
+ pub const SA_NOCLDWAIT : :: c_int = 0x00000002 ;
302
+
303
+ pub const SOCK_STREAM : :: c_int = 1 ;
304
+ pub const SOCK_DGRAM : :: c_int = 2 ;
305
+
136
306
pub const FIOCLEX : :: c_ulong = 0x5451 ;
137
307
pub const FIONBIO : :: c_ulong = 0x5421 ;
138
308
139
309
pub const MCL_CURRENT : :: c_int = 0x0001 ;
140
310
pub const MCL_FUTURE : :: c_int = 0x0002 ;
141
311
312
+ pub const POLLWRNORM : :: c_short = 0x100 ;
313
+ pub const POLLWRBAND : :: c_short = 0x200 ;
314
+
315
+ pub const F_GETLK : :: c_int = 5 ;
316
+ pub const F_GETOWN : :: c_int = 9 ;
317
+ pub const F_SETOWN : :: c_int = 8 ;
318
+
319
+ pub const EFD_NONBLOCK : :: c_int = 0x800 ;
320
+ pub const SFD_NONBLOCK : :: c_int = 0x0800 ;
321
+
322
+ pub const SIGCHLD : :: c_int = 17 ;
323
+ pub const SIGBUS : :: c_int = 7 ;
324
+ pub const SIGUSR1 : :: c_int = 10 ;
325
+ pub const SIGUSR2 : :: c_int = 12 ;
326
+ pub const SIGCONT : :: c_int = 18 ;
327
+ pub const SIGSTOP : :: c_int = 19 ;
328
+ pub const SIGTSTP : :: c_int = 20 ;
329
+ pub const SIGURG : :: c_int = 23 ;
330
+ pub const SIGIO : :: c_int = 29 ;
331
+ pub const SIGSYS : :: c_int = 31 ;
332
+ pub const SIGSTKFLT : :: c_int = 16 ;
333
+ #[ deprecated(
334
+ since = "0.2.55" ,
335
+ note = "Use SIGSYS instead"
336
+ ) ]
337
+ pub const SIGUNUSED : :: c_int = 31 ;
338
+ pub const SIGPOLL : :: c_int = 29 ;
339
+ pub const SIGPWR : :: c_int = 30 ;
340
+ pub const SIG_SETMASK : :: c_int = 2 ;
341
+ pub const SIG_BLOCK : :: c_int = 0x000000 ;
342
+ pub const SIG_UNBLOCK : :: c_int = 0x01 ;
343
+ pub const SIGTTIN : :: c_int = 21 ;
344
+ pub const SIGTTOU : :: c_int = 22 ;
345
+ pub const SIGXCPU : :: c_int = 24 ;
346
+ pub const SIGXFSZ : :: c_int = 25 ;
347
+ pub const SIGVTALRM : :: c_int = 26 ;
348
+ pub const SIGPROF : :: c_int = 27 ;
349
+ pub const SIGWINCH : :: c_int = 28 ;
142
350
pub const SIGSTKSZ : :: size_t = 8192 ;
143
351
pub const MINSIGSTKSZ : :: size_t = 2048 ;
144
352
pub const CBAUD : :: tcflag_t = 0o0010017 ;
@@ -256,6 +464,31 @@ pub const TIOCGRS485: ::c_int = 0x542E;
256
464
pub const TIOCSRS485 : :: c_int = 0x542F ;
257
465
pub const FIONREAD : :: c_ulong = 0x541B ;
258
466
467
+ pub const TIOCGSOFTCAR : :: c_ulong = 0x5419 ;
468
+ pub const TIOCSSOFTCAR : :: c_ulong = 0x541A ;
469
+ pub const TIOCEXCL : :: c_ulong = 0x540C ;
470
+ pub const TIOCNXCL : :: c_ulong = 0x540D ;
471
+ pub const TIOCSCTTY : :: c_ulong = 0x540E ;
472
+ pub const TIOCSTI : :: c_ulong = 0x5412 ;
473
+ pub const TIOCMGET : :: c_ulong = 0x5415 ;
474
+ pub const TIOCMBIS : :: c_ulong = 0x5416 ;
475
+ pub const TIOCMBIC : :: c_ulong = 0x5417 ;
476
+ pub const TIOCMSET : :: c_ulong = 0x5418 ;
477
+ pub const TIOCCONS : :: c_ulong = 0x541D ;
478
+
479
+ pub const TCSANOW : :: c_int = 0 ;
480
+ pub const TCSADRAIN : :: c_int = 1 ;
481
+ pub const TCSAFLUSH : :: c_int = 2 ;
482
+
483
+ pub const TIOCLINUX : :: c_ulong = 0x541C ;
484
+ pub const TIOCGSERIAL : :: c_ulong = 0x541E ;
485
+ pub const TIOCM_ST : :: c_int = 0x008 ;
486
+ pub const TIOCM_SR : :: c_int = 0x010 ;
487
+ pub const TIOCM_CTS : :: c_int = 0x020 ;
488
+ pub const TIOCM_CAR : :: c_int = 0x040 ;
489
+ pub const TIOCM_RNG : :: c_int = 0x080 ;
490
+ pub const TIOCM_DSR : :: c_int = 0x100 ;
491
+
259
492
// Syscall table
260
493
pub const SYS_restart_syscall : :: c_long = 0 ;
261
494
pub const SYS_exit : :: c_long = 1 ;
0 commit comments