]>
Commit | Line | Data |
---|---|---|
476ff2be | 1 | pub type c_char = i8; |
abe05a73 XL |
2 | pub type wchar_t = i32; |
3 | pub type nlink_t = u64; | |
4 | pub type blksize_t = ::c_long; | |
041b39d2 | 5 | pub type __u64 = ::c_ulonglong; |
dfeec247 | 6 | pub type greg_t = i64; |
476ff2be SL |
7 | |
8 | s! { | |
abe05a73 XL |
9 | pub struct stat { |
10 | pub st_dev: ::dev_t, | |
11 | pub st_ino: ::ino_t, | |
12 | pub st_nlink: ::nlink_t, | |
13 | pub st_mode: ::mode_t, | |
14 | pub st_uid: ::uid_t, | |
15 | pub st_gid: ::gid_t, | |
16 | __pad0: ::c_int, | |
17 | pub st_rdev: ::dev_t, | |
18 | pub st_size: ::off_t, | |
19 | pub st_blksize: ::blksize_t, | |
20 | pub st_blocks: ::blkcnt_t, | |
21 | pub st_atime: ::time_t, | |
22 | pub st_atime_nsec: ::c_long, | |
23 | pub st_mtime: ::time_t, | |
24 | pub st_mtime_nsec: ::c_long, | |
25 | pub st_ctime: ::time_t, | |
26 | pub st_ctime_nsec: ::c_long, | |
27 | __unused: [::c_long; 3], | |
28 | } | |
29 | ||
30 | pub struct stat64 { | |
31 | pub st_dev: ::dev_t, | |
32 | pub st_ino: ::ino64_t, | |
33 | pub st_nlink: ::nlink_t, | |
34 | pub st_mode: ::mode_t, | |
35 | pub st_uid: ::uid_t, | |
36 | pub st_gid: ::gid_t, | |
37 | __pad0: ::c_int, | |
38 | pub st_rdev: ::dev_t, | |
39 | pub st_size: ::off_t, | |
40 | pub st_blksize: ::blksize_t, | |
41 | pub st_blocks: ::blkcnt64_t, | |
42 | pub st_atime: ::time_t, | |
43 | pub st_atime_nsec: ::c_long, | |
44 | pub st_mtime: ::time_t, | |
45 | pub st_mtime_nsec: ::c_long, | |
46 | pub st_ctime: ::time_t, | |
47 | pub st_ctime_nsec: ::c_long, | |
48 | __reserved: [::c_long; 3], | |
49 | } | |
50 | ||
ba9703b0 XL |
51 | pub struct nlmsghdr { |
52 | pub nlmsg_len: u32, | |
53 | pub nlmsg_type: u16, | |
54 | pub nlmsg_flags: u16, | |
55 | pub nlmsg_seq: u32, | |
56 | pub nlmsg_pid: u32, | |
57 | } | |
58 | ||
59 | pub struct nlmsgerr { | |
60 | pub error: ::c_int, | |
61 | pub msg: nlmsghdr, | |
62 | } | |
63 | ||
64 | pub struct nlattr { | |
65 | pub nla_len: u16, | |
66 | pub nla_type: u16, | |
67 | } | |
68 | ||
e74abb32 XL |
69 | pub struct user_regs_struct { |
70 | pub r15: ::c_ulong, | |
71 | pub r14: ::c_ulong, | |
72 | pub r13: ::c_ulong, | |
73 | pub r12: ::c_ulong, | |
74 | pub rbp: ::c_ulong, | |
75 | pub rbx: ::c_ulong, | |
76 | pub r11: ::c_ulong, | |
77 | pub r10: ::c_ulong, | |
78 | pub r9: ::c_ulong, | |
79 | pub r8: ::c_ulong, | |
80 | pub rax: ::c_ulong, | |
81 | pub rcx: ::c_ulong, | |
82 | pub rdx: ::c_ulong, | |
83 | pub rsi: ::c_ulong, | |
84 | pub rdi: ::c_ulong, | |
85 | pub orig_rax: ::c_ulong, | |
86 | pub rip: ::c_ulong, | |
87 | pub cs: ::c_ulong, | |
88 | pub eflags: ::c_ulong, | |
89 | pub rsp: ::c_ulong, | |
90 | pub ss: ::c_ulong, | |
91 | pub fs_base: ::c_ulong, | |
92 | pub gs_base: ::c_ulong, | |
93 | pub ds: ::c_ulong, | |
94 | pub es: ::c_ulong, | |
95 | pub fs: ::c_ulong, | |
96 | pub gs: ::c_ulong, | |
97 | } | |
98 | ||
99 | pub struct user { | |
100 | pub regs: user_regs_struct, | |
101 | pub u_fpvalid: ::c_int, | |
102 | pub i387: user_fpregs_struct, | |
103 | pub u_tsize: ::c_ulong, | |
104 | pub u_dsize: ::c_ulong, | |
105 | pub u_ssize: ::c_ulong, | |
106 | pub start_code: ::c_ulong, | |
107 | pub start_stack: ::c_ulong, | |
108 | pub signal: ::c_long, | |
109 | __reserved: ::c_int, | |
110 | #[cfg(target_pointer_width = "32")] | |
111 | __pad1: u32, | |
112 | pub u_ar0: *mut user_regs_struct, | |
113 | #[cfg(target_pointer_width = "32")] | |
114 | __pad2: u32, | |
115 | pub u_fpstate: *mut user_fpregs_struct, | |
116 | pub magic: ::c_ulong, | |
117 | pub u_comm: [::c_char; 32], | |
118 | pub u_debugreg: [::c_ulong; 8], | |
119 | } | |
120 | ||
dfeec247 XL |
121 | // GitHub repo: ifduyue/musl/ |
122 | // commit: b4b1e10364c8737a632be61582e05a8d3acf5690 | |
123 | // file: arch/x86_64/bits/signal.h#L80-L84 | |
476ff2be | 124 | pub struct mcontext_t { |
dfeec247 XL |
125 | pub gregs: [greg_t; 23], |
126 | __private: [u64; 9], | |
476ff2be SL |
127 | } |
128 | ||
abe05a73 XL |
129 | pub struct ipc_perm { |
130 | pub __ipc_perm_key: ::key_t, | |
131 | pub uid: ::uid_t, | |
132 | pub gid: ::gid_t, | |
133 | pub cuid: ::uid_t, | |
134 | pub cgid: ::gid_t, | |
135 | pub mode: ::mode_t, | |
136 | pub __seq: ::c_int, | |
137 | __unused1: ::c_long, | |
138 | __unused2: ::c_long | |
139 | } | |
476ff2be SL |
140 | } |
141 | ||
e74abb32 XL |
142 | s_no_extra_traits! { |
143 | pub struct user_fpregs_struct { | |
144 | pub cwd: ::c_ushort, | |
145 | pub swd: ::c_ushort, | |
146 | pub ftw: ::c_ushort, | |
147 | pub fop: ::c_ushort, | |
148 | pub rip: ::c_ulong, | |
149 | pub rdp: ::c_ulong, | |
150 | pub mxcsr: ::c_uint, | |
151 | pub mxcr_mask: ::c_uint, | |
152 | pub st_space: [::c_uint; 32], | |
153 | pub xmm_space: [::c_uint; 64], | |
154 | padding: [::c_uint; 24], | |
155 | } | |
156 | ||
532ac7d7 XL |
157 | pub struct ucontext_t { |
158 | pub uc_flags: ::c_ulong, | |
159 | pub uc_link: *mut ucontext_t, | |
160 | pub uc_stack: ::stack_t, | |
161 | pub uc_mcontext: mcontext_t, | |
162 | pub uc_sigmask: ::sigset_t, | |
163 | __private: [u8; 512], | |
164 | } | |
165 | } | |
166 | ||
167 | cfg_if! { | |
168 | if #[cfg(feature = "extra_traits")] { | |
e74abb32 XL |
169 | impl PartialEq for user_fpregs_struct { |
170 | fn eq(&self, other: &user_fpregs_struct) -> bool { | |
171 | self.cwd == other.cwd | |
172 | && self.swd == other.swd | |
173 | && self.ftw == other.ftw | |
174 | && self.fop == other.fop | |
175 | && self.rip == other.rip | |
176 | && self.rdp == other.rdp | |
177 | && self.mxcsr == other.mxcsr | |
178 | && self.mxcr_mask == other.mxcr_mask | |
179 | && self.st_space == other.st_space | |
180 | && self | |
181 | .xmm_space | |
182 | .iter() | |
183 | .zip(other.xmm_space.iter()) | |
184 | .all(|(a,b)| a == b) | |
185 | // Ignore padding field | |
186 | } | |
187 | } | |
188 | ||
189 | impl Eq for user_fpregs_struct {} | |
190 | ||
191 | impl ::fmt::Debug for user_fpregs_struct { | |
192 | fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { | |
193 | f.debug_struct("user_fpregs_struct") | |
194 | .field("cwd", &self.cwd) | |
195 | .field("ftw", &self.ftw) | |
196 | .field("fop", &self.fop) | |
197 | .field("rip", &self.rip) | |
198 | .field("rdp", &self.rdp) | |
199 | .field("mxcsr", &self.mxcsr) | |
200 | .field("mxcr_mask", &self.mxcr_mask) | |
201 | .field("st_space", &self.st_space) | |
202 | // FIXME: .field("xmm_space", &self.xmm_space) | |
203 | // Ignore padding field | |
204 | .finish() | |
205 | } | |
206 | } | |
207 | ||
208 | impl ::hash::Hash for user_fpregs_struct { | |
209 | fn hash<H: ::hash::Hasher>(&self, state: &mut H) { | |
210 | self.cwd.hash(state); | |
211 | self.ftw.hash(state); | |
212 | self.fop.hash(state); | |
213 | self.rip.hash(state); | |
214 | self.rdp.hash(state); | |
215 | self.mxcsr.hash(state); | |
216 | self.mxcr_mask.hash(state); | |
217 | self.st_space.hash(state); | |
218 | self.xmm_space.hash(state); | |
219 | // Ignore padding field | |
220 | } | |
221 | } | |
222 | ||
532ac7d7 XL |
223 | impl PartialEq for ucontext_t { |
224 | fn eq(&self, other: &ucontext_t) -> bool { | |
225 | self.uc_flags == other.uc_flags | |
226 | && self.uc_link == other.uc_link | |
227 | && self.uc_stack == other.uc_stack | |
228 | && self.uc_mcontext == other.uc_mcontext | |
229 | && self.uc_sigmask == other.uc_sigmask | |
230 | && self | |
231 | .__private | |
232 | .iter() | |
233 | .zip(other.__private.iter()) | |
234 | .all(|(a,b)| a == b) | |
235 | } | |
236 | } | |
237 | ||
238 | impl Eq for ucontext_t {} | |
239 | ||
240 | impl ::fmt::Debug for ucontext_t { | |
241 | fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { | |
242 | f.debug_struct("ucontext_t") | |
243 | .field("uc_flags", &self.uc_flags) | |
244 | .field("uc_link", &self.uc_link) | |
245 | .field("uc_stack", &self.uc_stack) | |
246 | .field("uc_mcontext", &self.uc_mcontext) | |
247 | .field("uc_sigmask", &self.uc_sigmask) | |
248 | // Ignore __private field | |
249 | .finish() | |
250 | } | |
251 | } | |
252 | ||
253 | impl ::hash::Hash for ucontext_t { | |
254 | fn hash<H: ::hash::Hasher>(&self, state: &mut H) { | |
255 | self.uc_flags.hash(state); | |
256 | self.uc_link.hash(state); | |
257 | self.uc_stack.hash(state); | |
258 | self.uc_mcontext.hash(state); | |
259 | self.uc_sigmask.hash(state); | |
260 | self.__private.hash(state); | |
261 | } | |
262 | } | |
263 | } | |
264 | } | |
265 | ||
ea8adc8c | 266 | // Syscall table |
476ff2be | 267 | |
ea8adc8c XL |
268 | pub const SYS_read: ::c_long = 0; |
269 | pub const SYS_write: ::c_long = 1; | |
270 | pub const SYS_open: ::c_long = 2; | |
271 | pub const SYS_close: ::c_long = 3; | |
272 | pub const SYS_stat: ::c_long = 4; | |
273 | pub const SYS_fstat: ::c_long = 5; | |
274 | pub const SYS_lstat: ::c_long = 6; | |
275 | pub const SYS_poll: ::c_long = 7; | |
276 | pub const SYS_lseek: ::c_long = 8; | |
277 | pub const SYS_mmap: ::c_long = 9; | |
278 | pub const SYS_mprotect: ::c_long = 10; | |
279 | pub const SYS_munmap: ::c_long = 11; | |
280 | pub const SYS_brk: ::c_long = 12; | |
281 | pub const SYS_rt_sigaction: ::c_long = 13; | |
282 | pub const SYS_rt_sigprocmask: ::c_long = 14; | |
283 | pub const SYS_rt_sigreturn: ::c_long = 15; | |
284 | pub const SYS_ioctl: ::c_long = 16; | |
285 | pub const SYS_pread64: ::c_long = 17; | |
286 | pub const SYS_pwrite64: ::c_long = 18; | |
287 | pub const SYS_readv: ::c_long = 19; | |
288 | pub const SYS_writev: ::c_long = 20; | |
289 | pub const SYS_access: ::c_long = 21; | |
290 | pub const SYS_pipe: ::c_long = 22; | |
291 | pub const SYS_select: ::c_long = 23; | |
292 | pub const SYS_sched_yield: ::c_long = 24; | |
293 | pub const SYS_mremap: ::c_long = 25; | |
294 | pub const SYS_msync: ::c_long = 26; | |
295 | pub const SYS_mincore: ::c_long = 27; | |
296 | pub const SYS_madvise: ::c_long = 28; | |
297 | pub const SYS_shmget: ::c_long = 29; | |
298 | pub const SYS_shmat: ::c_long = 30; | |
299 | pub const SYS_shmctl: ::c_long = 31; | |
300 | pub const SYS_dup: ::c_long = 32; | |
301 | pub const SYS_dup2: ::c_long = 33; | |
302 | pub const SYS_pause: ::c_long = 34; | |
303 | pub const SYS_nanosleep: ::c_long = 35; | |
304 | pub const SYS_getitimer: ::c_long = 36; | |
305 | pub const SYS_alarm: ::c_long = 37; | |
306 | pub const SYS_setitimer: ::c_long = 38; | |
307 | pub const SYS_getpid: ::c_long = 39; | |
308 | pub const SYS_sendfile: ::c_long = 40; | |
309 | pub const SYS_socket: ::c_long = 41; | |
310 | pub const SYS_connect: ::c_long = 42; | |
311 | pub const SYS_accept: ::c_long = 43; | |
312 | pub const SYS_sendto: ::c_long = 44; | |
313 | pub const SYS_recvfrom: ::c_long = 45; | |
314 | pub const SYS_sendmsg: ::c_long = 46; | |
315 | pub const SYS_recvmsg: ::c_long = 47; | |
316 | pub const SYS_shutdown: ::c_long = 48; | |
317 | pub const SYS_bind: ::c_long = 49; | |
318 | pub const SYS_listen: ::c_long = 50; | |
319 | pub const SYS_getsockname: ::c_long = 51; | |
320 | pub const SYS_getpeername: ::c_long = 52; | |
321 | pub const SYS_socketpair: ::c_long = 53; | |
322 | pub const SYS_setsockopt: ::c_long = 54; | |
323 | pub const SYS_getsockopt: ::c_long = 55; | |
324 | pub const SYS_clone: ::c_long = 56; | |
325 | pub const SYS_fork: ::c_long = 57; | |
326 | pub const SYS_vfork: ::c_long = 58; | |
327 | pub const SYS_execve: ::c_long = 59; | |
328 | pub const SYS_exit: ::c_long = 60; | |
329 | pub const SYS_wait4: ::c_long = 61; | |
330 | pub const SYS_kill: ::c_long = 62; | |
331 | pub const SYS_uname: ::c_long = 63; | |
332 | pub const SYS_semget: ::c_long = 64; | |
333 | pub const SYS_semop: ::c_long = 65; | |
334 | pub const SYS_semctl: ::c_long = 66; | |
335 | pub const SYS_shmdt: ::c_long = 67; | |
336 | pub const SYS_msgget: ::c_long = 68; | |
337 | pub const SYS_msgsnd: ::c_long = 69; | |
338 | pub const SYS_msgrcv: ::c_long = 70; | |
339 | pub const SYS_msgctl: ::c_long = 71; | |
340 | pub const SYS_fcntl: ::c_long = 72; | |
341 | pub const SYS_flock: ::c_long = 73; | |
342 | pub const SYS_fsync: ::c_long = 74; | |
343 | pub const SYS_fdatasync: ::c_long = 75; | |
344 | pub const SYS_truncate: ::c_long = 76; | |
345 | pub const SYS_ftruncate: ::c_long = 77; | |
346 | pub const SYS_getdents: ::c_long = 78; | |
347 | pub const SYS_getcwd: ::c_long = 79; | |
348 | pub const SYS_chdir: ::c_long = 80; | |
349 | pub const SYS_fchdir: ::c_long = 81; | |
350 | pub const SYS_rename: ::c_long = 82; | |
351 | pub const SYS_mkdir: ::c_long = 83; | |
352 | pub const SYS_rmdir: ::c_long = 84; | |
353 | pub const SYS_creat: ::c_long = 85; | |
354 | pub const SYS_link: ::c_long = 86; | |
355 | pub const SYS_unlink: ::c_long = 87; | |
356 | pub const SYS_symlink: ::c_long = 88; | |
357 | pub const SYS_readlink: ::c_long = 89; | |
358 | pub const SYS_chmod: ::c_long = 90; | |
359 | pub const SYS_fchmod: ::c_long = 91; | |
360 | pub const SYS_chown: ::c_long = 92; | |
361 | pub const SYS_fchown: ::c_long = 93; | |
362 | pub const SYS_lchown: ::c_long = 94; | |
363 | pub const SYS_umask: ::c_long = 95; | |
364 | pub const SYS_gettimeofday: ::c_long = 96; | |
365 | pub const SYS_getrlimit: ::c_long = 97; | |
366 | pub const SYS_getrusage: ::c_long = 98; | |
367 | pub const SYS_sysinfo: ::c_long = 99; | |
368 | pub const SYS_times: ::c_long = 100; | |
369 | pub const SYS_ptrace: ::c_long = 101; | |
370 | pub const SYS_getuid: ::c_long = 102; | |
371 | pub const SYS_syslog: ::c_long = 103; | |
372 | pub const SYS_getgid: ::c_long = 104; | |
373 | pub const SYS_setuid: ::c_long = 105; | |
374 | pub const SYS_setgid: ::c_long = 106; | |
375 | pub const SYS_geteuid: ::c_long = 107; | |
376 | pub const SYS_getegid: ::c_long = 108; | |
377 | pub const SYS_setpgid: ::c_long = 109; | |
378 | pub const SYS_getppid: ::c_long = 110; | |
379 | pub const SYS_getpgrp: ::c_long = 111; | |
380 | pub const SYS_setsid: ::c_long = 112; | |
381 | pub const SYS_setreuid: ::c_long = 113; | |
382 | pub const SYS_setregid: ::c_long = 114; | |
383 | pub const SYS_getgroups: ::c_long = 115; | |
384 | pub const SYS_setgroups: ::c_long = 116; | |
385 | pub const SYS_setresuid: ::c_long = 117; | |
386 | pub const SYS_getresuid: ::c_long = 118; | |
387 | pub const SYS_setresgid: ::c_long = 119; | |
388 | pub const SYS_getresgid: ::c_long = 120; | |
389 | pub const SYS_getpgid: ::c_long = 121; | |
390 | pub const SYS_setfsuid: ::c_long = 122; | |
391 | pub const SYS_setfsgid: ::c_long = 123; | |
392 | pub const SYS_getsid: ::c_long = 124; | |
393 | pub const SYS_capget: ::c_long = 125; | |
394 | pub const SYS_capset: ::c_long = 126; | |
395 | pub const SYS_rt_sigpending: ::c_long = 127; | |
396 | pub const SYS_rt_sigtimedwait: ::c_long = 128; | |
397 | pub const SYS_rt_sigqueueinfo: ::c_long = 129; | |
398 | pub const SYS_rt_sigsuspend: ::c_long = 130; | |
399 | pub const SYS_sigaltstack: ::c_long = 131; | |
400 | pub const SYS_utime: ::c_long = 132; | |
401 | pub const SYS_mknod: ::c_long = 133; | |
402 | pub const SYS_uselib: ::c_long = 134; | |
403 | pub const SYS_personality: ::c_long = 135; | |
404 | pub const SYS_ustat: ::c_long = 136; | |
405 | pub const SYS_statfs: ::c_long = 137; | |
406 | pub const SYS_fstatfs: ::c_long = 138; | |
407 | pub const SYS_sysfs: ::c_long = 139; | |
408 | pub const SYS_getpriority: ::c_long = 140; | |
409 | pub const SYS_setpriority: ::c_long = 141; | |
410 | pub const SYS_sched_setparam: ::c_long = 142; | |
411 | pub const SYS_sched_getparam: ::c_long = 143; | |
412 | pub const SYS_sched_setscheduler: ::c_long = 144; | |
413 | pub const SYS_sched_getscheduler: ::c_long = 145; | |
414 | pub const SYS_sched_get_priority_max: ::c_long = 146; | |
415 | pub const SYS_sched_get_priority_min: ::c_long = 147; | |
416 | pub const SYS_sched_rr_get_interval: ::c_long = 148; | |
417 | pub const SYS_mlock: ::c_long = 149; | |
418 | pub const SYS_munlock: ::c_long = 150; | |
419 | pub const SYS_mlockall: ::c_long = 151; | |
420 | pub const SYS_munlockall: ::c_long = 152; | |
421 | pub const SYS_vhangup: ::c_long = 153; | |
422 | pub const SYS_modify_ldt: ::c_long = 154; | |
423 | pub const SYS_pivot_root: ::c_long = 155; | |
424 | pub const SYS__sysctl: ::c_long = 156; | |
425 | pub const SYS_prctl: ::c_long = 157; | |
426 | pub const SYS_arch_prctl: ::c_long = 158; | |
427 | pub const SYS_adjtimex: ::c_long = 159; | |
428 | pub const SYS_setrlimit: ::c_long = 160; | |
429 | pub const SYS_chroot: ::c_long = 161; | |
430 | pub const SYS_sync: ::c_long = 162; | |
431 | pub const SYS_acct: ::c_long = 163; | |
432 | pub const SYS_settimeofday: ::c_long = 164; | |
433 | pub const SYS_mount: ::c_long = 165; | |
434 | pub const SYS_umount2: ::c_long = 166; | |
435 | pub const SYS_swapon: ::c_long = 167; | |
436 | pub const SYS_swapoff: ::c_long = 168; | |
437 | pub const SYS_reboot: ::c_long = 169; | |
438 | pub const SYS_sethostname: ::c_long = 170; | |
439 | pub const SYS_setdomainname: ::c_long = 171; | |
440 | pub const SYS_iopl: ::c_long = 172; | |
441 | pub const SYS_ioperm: ::c_long = 173; | |
442 | pub const SYS_create_module: ::c_long = 174; | |
443 | pub const SYS_init_module: ::c_long = 175; | |
444 | pub const SYS_delete_module: ::c_long = 176; | |
445 | pub const SYS_get_kernel_syms: ::c_long = 177; | |
446 | pub const SYS_query_module: ::c_long = 178; | |
447 | pub const SYS_quotactl: ::c_long = 179; | |
448 | pub const SYS_nfsservctl: ::c_long = 180; | |
449 | pub const SYS_getpmsg: ::c_long = 181; | |
450 | pub const SYS_putpmsg: ::c_long = 182; | |
451 | pub const SYS_afs_syscall: ::c_long = 183; | |
452 | pub const SYS_tuxcall: ::c_long = 184; | |
453 | pub const SYS_security: ::c_long = 185; | |
454 | pub const SYS_gettid: ::c_long = 186; | |
455 | pub const SYS_readahead: ::c_long = 187; | |
456 | pub const SYS_setxattr: ::c_long = 188; | |
457 | pub const SYS_lsetxattr: ::c_long = 189; | |
458 | pub const SYS_fsetxattr: ::c_long = 190; | |
459 | pub const SYS_getxattr: ::c_long = 191; | |
460 | pub const SYS_lgetxattr: ::c_long = 192; | |
461 | pub const SYS_fgetxattr: ::c_long = 193; | |
462 | pub const SYS_listxattr: ::c_long = 194; | |
463 | pub const SYS_llistxattr: ::c_long = 195; | |
464 | pub const SYS_flistxattr: ::c_long = 196; | |
465 | pub const SYS_removexattr: ::c_long = 197; | |
466 | pub const SYS_lremovexattr: ::c_long = 198; | |
467 | pub const SYS_fremovexattr: ::c_long = 199; | |
468 | pub const SYS_tkill: ::c_long = 200; | |
469 | pub const SYS_time: ::c_long = 201; | |
470 | pub const SYS_futex: ::c_long = 202; | |
471 | pub const SYS_sched_setaffinity: ::c_long = 203; | |
472 | pub const SYS_sched_getaffinity: ::c_long = 204; | |
473 | pub const SYS_set_thread_area: ::c_long = 205; | |
474 | pub const SYS_io_setup: ::c_long = 206; | |
475 | pub const SYS_io_destroy: ::c_long = 207; | |
476 | pub const SYS_io_getevents: ::c_long = 208; | |
477 | pub const SYS_io_submit: ::c_long = 209; | |
478 | pub const SYS_io_cancel: ::c_long = 210; | |
479 | pub const SYS_get_thread_area: ::c_long = 211; | |
480 | pub const SYS_lookup_dcookie: ::c_long = 212; | |
481 | pub const SYS_epoll_create: ::c_long = 213; | |
482 | pub const SYS_epoll_ctl_old: ::c_long = 214; | |
483 | pub const SYS_epoll_wait_old: ::c_long = 215; | |
484 | pub const SYS_remap_file_pages: ::c_long = 216; | |
485 | pub const SYS_getdents64: ::c_long = 217; | |
486 | pub const SYS_set_tid_address: ::c_long = 218; | |
487 | pub const SYS_restart_syscall: ::c_long = 219; | |
488 | pub const SYS_semtimedop: ::c_long = 220; | |
489 | pub const SYS_fadvise64: ::c_long = 221; | |
490 | pub const SYS_timer_create: ::c_long = 222; | |
491 | pub const SYS_timer_settime: ::c_long = 223; | |
492 | pub const SYS_timer_gettime: ::c_long = 224; | |
493 | pub const SYS_timer_getoverrun: ::c_long = 225; | |
494 | pub const SYS_timer_delete: ::c_long = 226; | |
495 | pub const SYS_clock_settime: ::c_long = 227; | |
496 | pub const SYS_clock_gettime: ::c_long = 228; | |
497 | pub const SYS_clock_getres: ::c_long = 229; | |
498 | pub const SYS_clock_nanosleep: ::c_long = 230; | |
499 | pub const SYS_exit_group: ::c_long = 231; | |
500 | pub const SYS_epoll_wait: ::c_long = 232; | |
501 | pub const SYS_epoll_ctl: ::c_long = 233; | |
502 | pub const SYS_tgkill: ::c_long = 234; | |
503 | pub const SYS_utimes: ::c_long = 235; | |
504 | pub const SYS_vserver: ::c_long = 236; | |
505 | pub const SYS_mbind: ::c_long = 237; | |
506 | pub const SYS_set_mempolicy: ::c_long = 238; | |
507 | pub const SYS_get_mempolicy: ::c_long = 239; | |
508 | pub const SYS_mq_open: ::c_long = 240; | |
509 | pub const SYS_mq_unlink: ::c_long = 241; | |
510 | pub const SYS_mq_timedsend: ::c_long = 242; | |
511 | pub const SYS_mq_timedreceive: ::c_long = 243; | |
512 | pub const SYS_mq_notify: ::c_long = 244; | |
513 | pub const SYS_mq_getsetattr: ::c_long = 245; | |
514 | pub const SYS_kexec_load: ::c_long = 246; | |
515 | pub const SYS_waitid: ::c_long = 247; | |
516 | pub const SYS_add_key: ::c_long = 248; | |
517 | pub const SYS_request_key: ::c_long = 249; | |
518 | pub const SYS_keyctl: ::c_long = 250; | |
519 | pub const SYS_ioprio_set: ::c_long = 251; | |
520 | pub const SYS_ioprio_get: ::c_long = 252; | |
521 | pub const SYS_inotify_init: ::c_long = 253; | |
522 | pub const SYS_inotify_add_watch: ::c_long = 254; | |
523 | pub const SYS_inotify_rm_watch: ::c_long = 255; | |
524 | pub const SYS_migrate_pages: ::c_long = 256; | |
525 | pub const SYS_openat: ::c_long = 257; | |
526 | pub const SYS_mkdirat: ::c_long = 258; | |
527 | pub const SYS_mknodat: ::c_long = 259; | |
528 | pub const SYS_fchownat: ::c_long = 260; | |
529 | pub const SYS_futimesat: ::c_long = 261; | |
530 | pub const SYS_newfstatat: ::c_long = 262; | |
531 | pub const SYS_unlinkat: ::c_long = 263; | |
532 | pub const SYS_renameat: ::c_long = 264; | |
533 | pub const SYS_linkat: ::c_long = 265; | |
534 | pub const SYS_symlinkat: ::c_long = 266; | |
535 | pub const SYS_readlinkat: ::c_long = 267; | |
536 | pub const SYS_fchmodat: ::c_long = 268; | |
537 | pub const SYS_faccessat: ::c_long = 269; | |
538 | pub const SYS_pselect6: ::c_long = 270; | |
539 | pub const SYS_ppoll: ::c_long = 271; | |
540 | pub const SYS_unshare: ::c_long = 272; | |
541 | pub const SYS_set_robust_list: ::c_long = 273; | |
542 | pub const SYS_get_robust_list: ::c_long = 274; | |
543 | pub const SYS_splice: ::c_long = 275; | |
544 | pub const SYS_tee: ::c_long = 276; | |
545 | pub const SYS_sync_file_range: ::c_long = 277; | |
546 | pub const SYS_vmsplice: ::c_long = 278; | |
547 | pub const SYS_move_pages: ::c_long = 279; | |
548 | pub const SYS_utimensat: ::c_long = 280; | |
549 | pub const SYS_epoll_pwait: ::c_long = 281; | |
550 | pub const SYS_signalfd: ::c_long = 282; | |
551 | pub const SYS_timerfd_create: ::c_long = 283; | |
552 | pub const SYS_eventfd: ::c_long = 284; | |
553 | pub const SYS_fallocate: ::c_long = 285; | |
554 | pub const SYS_timerfd_settime: ::c_long = 286; | |
555 | pub const SYS_timerfd_gettime: ::c_long = 287; | |
556 | pub const SYS_accept4: ::c_long = 288; | |
557 | pub const SYS_signalfd4: ::c_long = 289; | |
558 | pub const SYS_eventfd2: ::c_long = 290; | |
559 | pub const SYS_epoll_create1: ::c_long = 291; | |
560 | pub const SYS_dup3: ::c_long = 292; | |
561 | pub const SYS_pipe2: ::c_long = 293; | |
562 | pub const SYS_inotify_init1: ::c_long = 294; | |
563 | pub const SYS_preadv: ::c_long = 295; | |
564 | pub const SYS_pwritev: ::c_long = 296; | |
565 | pub const SYS_rt_tgsigqueueinfo: ::c_long = 297; | |
476ff2be | 566 | pub const SYS_perf_event_open: ::c_long = 298; |
ea8adc8c XL |
567 | pub const SYS_recvmmsg: ::c_long = 299; |
568 | pub const SYS_fanotify_init: ::c_long = 300; | |
569 | pub const SYS_fanotify_mark: ::c_long = 301; | |
570 | pub const SYS_prlimit64: ::c_long = 302; | |
571 | pub const SYS_name_to_handle_at: ::c_long = 303; | |
572 | pub const SYS_open_by_handle_at: ::c_long = 304; | |
573 | pub const SYS_clock_adjtime: ::c_long = 305; | |
574 | pub const SYS_syncfs: ::c_long = 306; | |
575 | pub const SYS_sendmmsg: ::c_long = 307; | |
576 | pub const SYS_setns: ::c_long = 308; | |
577 | pub const SYS_getcpu: ::c_long = 309; | |
578 | pub const SYS_process_vm_readv: ::c_long = 310; | |
579 | pub const SYS_process_vm_writev: ::c_long = 311; | |
580 | pub const SYS_kcmp: ::c_long = 312; | |
581 | pub const SYS_finit_module: ::c_long = 313; | |
582 | pub const SYS_sched_setattr: ::c_long = 314; | |
583 | pub const SYS_sched_getattr: ::c_long = 315; | |
584 | pub const SYS_renameat2: ::c_long = 316; | |
585 | pub const SYS_seccomp: ::c_long = 317; | |
586 | pub const SYS_getrandom: ::c_long = 318; | |
587 | pub const SYS_memfd_create: ::c_long = 319; | |
588 | pub const SYS_kexec_file_load: ::c_long = 320; | |
589 | pub const SYS_bpf: ::c_long = 321; | |
590 | pub const SYS_execveat: ::c_long = 322; | |
591 | pub const SYS_userfaultfd: ::c_long = 323; | |
592 | pub const SYS_membarrier: ::c_long = 324; | |
593 | pub const SYS_mlock2: ::c_long = 325; | |
594 | pub const SYS_copy_file_range: ::c_long = 326; | |
595 | pub const SYS_preadv2: ::c_long = 327; | |
596 | pub const SYS_pwritev2: ::c_long = 328; | |
dfeec247 XL |
597 | pub const SYS_pkey_mprotect: ::c_long = 329; |
598 | pub const SYS_pkey_alloc: ::c_long = 330; | |
599 | pub const SYS_pkey_free: ::c_long = 331; | |
600 | pub const SYS_statx: ::c_long = 332; | |
ea8adc8c XL |
601 | |
602 | // offsets in user_regs_structs, from sys/reg.h | |
603 | pub const R15: ::c_int = 0; | |
604 | pub const R14: ::c_int = 1; | |
605 | pub const R13: ::c_int = 2; | |
606 | pub const R12: ::c_int = 3; | |
607 | pub const RBP: ::c_int = 4; | |
608 | pub const RBX: ::c_int = 5; | |
609 | pub const R11: ::c_int = 6; | |
610 | pub const R10: ::c_int = 7; | |
611 | pub const R9: ::c_int = 8; | |
612 | pub const R8: ::c_int = 9; | |
613 | pub const RAX: ::c_int = 10; | |
614 | pub const RCX: ::c_int = 11; | |
615 | pub const RDX: ::c_int = 12; | |
616 | pub const RSI: ::c_int = 13; | |
617 | pub const RDI: ::c_int = 14; | |
618 | pub const ORIG_RAX: ::c_int = 15; | |
619 | pub const RIP: ::c_int = 16; | |
620 | pub const CS: ::c_int = 17; | |
621 | pub const EFLAGS: ::c_int = 18; | |
622 | pub const RSP: ::c_int = 19; | |
623 | pub const SS: ::c_int = 20; | |
624 | pub const FS_BASE: ::c_int = 21; | |
625 | pub const GS_BASE: ::c_int = 22; | |
626 | pub const DS: ::c_int = 23; | |
627 | pub const ES: ::c_int = 24; | |
628 | pub const FS: ::c_int = 25; | |
629 | pub const GS: ::c_int = 26; | |
abe05a73 | 630 | |
dfeec247 XL |
631 | // offsets in mcontext_t.gregs from bits/signal.h |
632 | // GitHub repo: ifduyue/musl/ | |
633 | // commit: b4b1e10364c8737a632be61582e05a8d3acf5690 | |
634 | // file: arch/x86_64/bits/signal.h#L9-L56 | |
635 | pub const REG_R8: ::c_int = 0; | |
636 | pub const REG_R9: ::c_int = 1; | |
637 | pub const REG_R10: ::c_int = 2; | |
638 | pub const REG_R11: ::c_int = 3; | |
639 | pub const REG_R12: ::c_int = 4; | |
640 | pub const REG_R13: ::c_int = 5; | |
641 | pub const REG_R14: ::c_int = 6; | |
642 | pub const REG_R15: ::c_int = 7; | |
643 | pub const REG_RDI: ::c_int = 8; | |
644 | pub const REG_RSI: ::c_int = 9; | |
645 | pub const REG_RBP: ::c_int = 10; | |
646 | pub const REG_RBX: ::c_int = 11; | |
647 | pub const REG_RDX: ::c_int = 12; | |
648 | pub const REG_RAX: ::c_int = 13; | |
649 | pub const REG_RCX: ::c_int = 14; | |
650 | pub const REG_RSP: ::c_int = 15; | |
651 | pub const REG_RIP: ::c_int = 16; | |
652 | pub const REG_EFL: ::c_int = 17; | |
653 | pub const REG_CSGSFS: ::c_int = 18; | |
654 | pub const REG_ERR: ::c_int = 19; | |
655 | pub const REG_TRAPNO: ::c_int = 20; | |
656 | pub const REG_OLDMASK: ::c_int = 21; | |
657 | pub const REG_CR2: ::c_int = 22; | |
658 | ||
416331ca | 659 | pub const MADV_SOFT_OFFLINE: ::c_int = 101; |
abe05a73 | 660 | pub const MAP_32BIT: ::c_int = 0x0040; |
e74abb32 | 661 | pub const O_APPEND: ::c_int = 1024; |
abe05a73 XL |
662 | pub const O_DIRECT: ::c_int = 0x4000; |
663 | pub const O_DIRECTORY: ::c_int = 0x10000; | |
664 | pub const O_LARGEFILE: ::c_int = 0; | |
665 | pub const O_NOFOLLOW: ::c_int = 0x20000; | |
e74abb32 XL |
666 | pub const O_CREAT: ::c_int = 64; |
667 | pub const O_EXCL: ::c_int = 128; | |
668 | pub const O_NOCTTY: ::c_int = 256; | |
669 | pub const O_NONBLOCK: ::c_int = 2048; | |
670 | pub const O_SYNC: ::c_int = 1052672; | |
671 | pub const O_RSYNC: ::c_int = 1052672; | |
672 | pub const O_DSYNC: ::c_int = 4096; | |
673 | pub const O_ASYNC: ::c_int = 0x2000; | |
abe05a73 | 674 | |
416331ca XL |
675 | pub const TIOCGRS485: ::c_int = 0x542E; |
676 | pub const TIOCSRS485: ::c_int = 0x542F; | |
677 | ||
abe05a73 XL |
678 | pub const SIGSTKSZ: ::size_t = 8192; |
679 | pub const MINSIGSTKSZ: ::size_t = 2048; | |
680 | ||
e74abb32 XL |
681 | pub const ENAMETOOLONG: ::c_int = 36; |
682 | pub const ENOLCK: ::c_int = 37; | |
683 | pub const ENOSYS: ::c_int = 38; | |
684 | pub const ENOTEMPTY: ::c_int = 39; | |
685 | pub const ELOOP: ::c_int = 40; | |
686 | pub const ENOMSG: ::c_int = 42; | |
687 | pub const EIDRM: ::c_int = 43; | |
688 | pub const ECHRNG: ::c_int = 44; | |
689 | pub const EL2NSYNC: ::c_int = 45; | |
690 | pub const EL3HLT: ::c_int = 46; | |
691 | pub const EL3RST: ::c_int = 47; | |
692 | pub const ELNRNG: ::c_int = 48; | |
693 | pub const EUNATCH: ::c_int = 49; | |
694 | pub const ENOCSI: ::c_int = 50; | |
695 | pub const EL2HLT: ::c_int = 51; | |
696 | pub const EBADE: ::c_int = 52; | |
697 | pub const EBADR: ::c_int = 53; | |
698 | pub const EXFULL: ::c_int = 54; | |
699 | pub const ENOANO: ::c_int = 55; | |
700 | pub const EBADRQC: ::c_int = 56; | |
701 | pub const EBADSLT: ::c_int = 57; | |
702 | pub const EMULTIHOP: ::c_int = 72; | |
703 | pub const EBADMSG: ::c_int = 74; | |
704 | pub const EOVERFLOW: ::c_int = 75; | |
705 | pub const ENOTUNIQ: ::c_int = 76; | |
706 | pub const EBADFD: ::c_int = 77; | |
707 | pub const EREMCHG: ::c_int = 78; | |
708 | pub const ELIBACC: ::c_int = 79; | |
709 | pub const ELIBBAD: ::c_int = 80; | |
710 | pub const ELIBSCN: ::c_int = 81; | |
711 | pub const ELIBMAX: ::c_int = 82; | |
712 | pub const ELIBEXEC: ::c_int = 83; | |
713 | pub const EILSEQ: ::c_int = 84; | |
714 | pub const ERESTART: ::c_int = 85; | |
715 | pub const ESTRPIPE: ::c_int = 86; | |
716 | pub const EUSERS: ::c_int = 87; | |
717 | pub const ENOTSOCK: ::c_int = 88; | |
718 | pub const EDESTADDRREQ: ::c_int = 89; | |
719 | pub const EMSGSIZE: ::c_int = 90; | |
720 | pub const EPROTOTYPE: ::c_int = 91; | |
721 | pub const ENOPROTOOPT: ::c_int = 92; | |
722 | pub const EPROTONOSUPPORT: ::c_int = 93; | |
723 | pub const ESOCKTNOSUPPORT: ::c_int = 94; | |
724 | pub const EOPNOTSUPP: ::c_int = 95; | |
725 | pub const ENOTSUP: ::c_int = EOPNOTSUPP; | |
726 | pub const EPFNOSUPPORT: ::c_int = 96; | |
727 | pub const EAFNOSUPPORT: ::c_int = 97; | |
728 | pub const EADDRINUSE: ::c_int = 98; | |
729 | pub const EADDRNOTAVAIL: ::c_int = 99; | |
730 | pub const ENETDOWN: ::c_int = 100; | |
731 | pub const ENETUNREACH: ::c_int = 101; | |
732 | pub const ENETRESET: ::c_int = 102; | |
733 | pub const ECONNABORTED: ::c_int = 103; | |
734 | pub const ECONNRESET: ::c_int = 104; | |
735 | pub const ENOBUFS: ::c_int = 105; | |
736 | pub const EISCONN: ::c_int = 106; | |
737 | pub const ENOTCONN: ::c_int = 107; | |
738 | pub const ESHUTDOWN: ::c_int = 108; | |
739 | pub const ETOOMANYREFS: ::c_int = 109; | |
740 | pub const ETIMEDOUT: ::c_int = 110; | |
741 | pub const ECONNREFUSED: ::c_int = 111; | |
742 | pub const EHOSTDOWN: ::c_int = 112; | |
743 | pub const EHOSTUNREACH: ::c_int = 113; | |
744 | pub const EALREADY: ::c_int = 114; | |
745 | pub const EINPROGRESS: ::c_int = 115; | |
746 | pub const ESTALE: ::c_int = 116; | |
747 | pub const EUCLEAN: ::c_int = 117; | |
748 | pub const ENOTNAM: ::c_int = 118; | |
749 | pub const ENAVAIL: ::c_int = 119; | |
750 | pub const EISNAM: ::c_int = 120; | |
751 | pub const EREMOTEIO: ::c_int = 121; | |
752 | pub const EDQUOT: ::c_int = 122; | |
753 | pub const ENOMEDIUM: ::c_int = 123; | |
754 | pub const EMEDIUMTYPE: ::c_int = 124; | |
755 | pub const ECANCELED: ::c_int = 125; | |
756 | pub const ENOKEY: ::c_int = 126; | |
757 | pub const EKEYEXPIRED: ::c_int = 127; | |
758 | pub const EKEYREVOKED: ::c_int = 128; | |
759 | pub const EKEYREJECTED: ::c_int = 129; | |
760 | pub const EOWNERDEAD: ::c_int = 130; | |
761 | pub const ENOTRECOVERABLE: ::c_int = 131; | |
762 | pub const ERFKILL: ::c_int = 132; | |
763 | pub const EHWPOISON: ::c_int = 133; | |
764 | ||
765 | pub const SA_ONSTACK: ::c_int = 0x08000000; | |
766 | pub const SA_SIGINFO: ::c_int = 0x00000004; | |
767 | pub const SA_NOCLDWAIT: ::c_int = 0x00000002; | |
768 | ||
769 | pub const SIGCHLD: ::c_int = 17; | |
770 | pub const SIGBUS: ::c_int = 7; | |
771 | pub const SIGTTIN: ::c_int = 21; | |
772 | pub const SIGTTOU: ::c_int = 22; | |
773 | pub const SIGXCPU: ::c_int = 24; | |
774 | pub const SIGXFSZ: ::c_int = 25; | |
775 | pub const SIGVTALRM: ::c_int = 26; | |
776 | pub const SIGPROF: ::c_int = 27; | |
777 | pub const SIGWINCH: ::c_int = 28; | |
778 | pub const SIGUSR1: ::c_int = 10; | |
779 | pub const SIGUSR2: ::c_int = 12; | |
780 | pub const SIGCONT: ::c_int = 18; | |
781 | pub const SIGSTOP: ::c_int = 19; | |
782 | pub const SIGTSTP: ::c_int = 20; | |
783 | pub const SIGURG: ::c_int = 23; | |
784 | pub const SIGIO: ::c_int = 29; | |
785 | pub const SIGSYS: ::c_int = 31; | |
786 | pub const SIGSTKFLT: ::c_int = 16; | |
787 | pub const SIGPOLL: ::c_int = 29; | |
788 | pub const SIGPWR: ::c_int = 30; | |
789 | pub const SIG_SETMASK: ::c_int = 2; | |
790 | pub const SIG_BLOCK: ::c_int = 0x000000; | |
791 | pub const SIG_UNBLOCK: ::c_int = 0x01; | |
792 | ||
793 | pub const F_GETLK: ::c_int = 5; | |
794 | pub const F_GETOWN: ::c_int = 9; | |
795 | pub const F_SETLK: ::c_int = 6; | |
796 | pub const F_SETLKW: ::c_int = 7; | |
797 | pub const F_SETOWN: ::c_int = 8; | |
ba9703b0 XL |
798 | pub const F_OFD_GETLK: ::c_int = 36; |
799 | pub const F_OFD_SETLK: ::c_int = 37; | |
800 | pub const F_OFD_SETLKW: ::c_int = 38; | |
e74abb32 XL |
801 | |
802 | pub const VEOF: usize = 4; | |
803 | ||
804 | pub const POLLWRNORM: ::c_short = 0x100; | |
805 | pub const POLLWRBAND: ::c_short = 0x200; | |
806 | ||
807 | pub const SOCK_STREAM: ::c_int = 1; | |
808 | pub const SOCK_DGRAM: ::c_int = 2; | |
809 | pub const SOL_SOCKET: ::c_int = 1; | |
810 | pub const SO_REUSEADDR: ::c_int = 2; | |
811 | pub const SO_TYPE: ::c_int = 3; | |
812 | pub const SO_ERROR: ::c_int = 4; | |
813 | pub const SO_DONTROUTE: ::c_int = 5; | |
814 | pub const SO_BROADCAST: ::c_int = 6; | |
815 | pub const SO_SNDBUF: ::c_int = 7; | |
816 | pub const SO_RCVBUF: ::c_int = 8; | |
817 | pub const SO_KEEPALIVE: ::c_int = 9; | |
818 | pub const SO_OOBINLINE: ::c_int = 10; | |
819 | pub const SO_NO_CHECK: ::c_int = 11; | |
820 | pub const SO_PRIORITY: ::c_int = 12; | |
821 | pub const SO_LINGER: ::c_int = 13; | |
822 | pub const SO_BSDCOMPAT: ::c_int = 14; | |
823 | pub const SO_REUSEPORT: ::c_int = 15; | |
824 | pub const SO_ACCEPTCONN: ::c_int = 30; | |
825 | pub const SO_SNDBUFFORCE: ::c_int = 32; | |
826 | pub const SO_RCVBUFFORCE: ::c_int = 33; | |
827 | pub const SO_PROTOCOL: ::c_int = 38; | |
828 | pub const SO_DOMAIN: ::c_int = 39; | |
829 | ||
830 | pub const MAP_ANON: ::c_int = 0x0020; | |
831 | pub const MAP_GROWSDOWN: ::c_int = 0x0100; | |
832 | pub const MAP_DENYWRITE: ::c_int = 0x0800; | |
833 | pub const MAP_EXECUTABLE: ::c_int = 0x01000; | |
834 | pub const MAP_LOCKED: ::c_int = 0x02000; | |
835 | pub const MAP_NORESERVE: ::c_int = 0x04000; | |
836 | pub const MAP_POPULATE: ::c_int = 0x08000; | |
837 | pub const MAP_NONBLOCK: ::c_int = 0x010000; | |
838 | pub const MAP_STACK: ::c_int = 0x020000; | |
839 | pub const MAP_HUGETLB: ::c_int = 0x040000; | |
ba9703b0 | 840 | pub const MAP_SYNC : ::c_int = 0x080000; |
e74abb32 | 841 | |
416331ca | 842 | pub const RLIMIT_NLIMITS: ::c_int = 15; |
b7449926 XL |
843 | pub const TIOCINQ: ::c_int = ::FIONREAD; |
844 | pub const MCL_CURRENT: ::c_int = 0x0001; | |
845 | pub const MCL_FUTURE: ::c_int = 0x0002; | |
846 | pub const CBAUD: ::tcflag_t = 0o0010017; | |
847 | pub const TAB1: ::c_int = 0x00000800; | |
848 | pub const TAB2: ::c_int = 0x00001000; | |
849 | pub const TAB3: ::c_int = 0x00001800; | |
e74abb32 XL |
850 | pub const CR1: ::c_int = 0x00000200; |
851 | pub const CR2: ::c_int = 0x00000400; | |
852 | pub const CR3: ::c_int = 0x00000600; | |
853 | pub const FF1: ::c_int = 0x00008000; | |
854 | pub const BS1: ::c_int = 0x00002000; | |
855 | pub const VT1: ::c_int = 0x00004000; | |
b7449926 XL |
856 | pub const VWERASE: usize = 14; |
857 | pub const VREPRINT: usize = 12; | |
858 | pub const VSUSP: usize = 10; | |
859 | pub const VSTART: usize = 8; | |
860 | pub const VSTOP: usize = 9; | |
861 | pub const VDISCARD: usize = 13; | |
862 | pub const VTIME: usize = 5; | |
863 | pub const IXON: ::tcflag_t = 0x00000400; | |
864 | pub const IXOFF: ::tcflag_t = 0x00001000; | |
865 | pub const ONLCR: ::tcflag_t = 0x4; | |
866 | pub const CSIZE: ::tcflag_t = 0x00000030; | |
867 | pub const CS6: ::tcflag_t = 0x00000010; | |
868 | pub const CS7: ::tcflag_t = 0x00000020; | |
869 | pub const CS8: ::tcflag_t = 0x00000030; | |
870 | pub const CSTOPB: ::tcflag_t = 0x00000040; | |
871 | pub const CREAD: ::tcflag_t = 0x00000080; | |
872 | pub const PARENB: ::tcflag_t = 0x00000100; | |
873 | pub const PARODD: ::tcflag_t = 0x00000200; | |
874 | pub const HUPCL: ::tcflag_t = 0x00000400; | |
875 | pub const CLOCAL: ::tcflag_t = 0x00000800; | |
876 | pub const ECHOKE: ::tcflag_t = 0x00000800; | |
877 | pub const ECHOE: ::tcflag_t = 0x00000010; | |
878 | pub const ECHOK: ::tcflag_t = 0x00000020; | |
879 | pub const ECHONL: ::tcflag_t = 0x00000040; | |
880 | pub const ECHOPRT: ::tcflag_t = 0x00000400; | |
881 | pub const ECHOCTL: ::tcflag_t = 0x00000200; | |
882 | pub const ISIG: ::tcflag_t = 0x00000001; | |
883 | pub const ICANON: ::tcflag_t = 0x00000002; | |
884 | pub const PENDIN: ::tcflag_t = 0x00004000; | |
885 | pub const NOFLSH: ::tcflag_t = 0x00000080; | |
886 | pub const CIBAUD: ::tcflag_t = 0o02003600000; | |
887 | pub const CBAUDEX: ::tcflag_t = 0o010000; | |
888 | pub const VSWTC: usize = 7; | |
e74abb32 XL |
889 | pub const OLCUC: ::tcflag_t = 0o000002; |
890 | pub const NLDLY: ::tcflag_t = 0o000400; | |
891 | pub const CRDLY: ::tcflag_t = 0o003000; | |
b7449926 | 892 | pub const TABDLY: ::tcflag_t = 0o014000; |
e74abb32 XL |
893 | pub const BSDLY: ::tcflag_t = 0o020000; |
894 | pub const FFDLY: ::tcflag_t = 0o100000; | |
895 | pub const VTDLY: ::tcflag_t = 0o040000; | |
896 | pub const XTABS: ::tcflag_t = 0o014000; | |
b7449926 XL |
897 | pub const B57600: ::speed_t = 0o010001; |
898 | pub const B115200: ::speed_t = 0o010002; | |
899 | pub const B230400: ::speed_t = 0o010003; | |
900 | pub const B460800: ::speed_t = 0o010004; | |
901 | pub const B500000: ::speed_t = 0o010005; | |
902 | pub const B576000: ::speed_t = 0o010006; | |
903 | pub const B921600: ::speed_t = 0o010007; | |
904 | pub const B1000000: ::speed_t = 0o010010; | |
905 | pub const B1152000: ::speed_t = 0o010011; | |
906 | pub const B1500000: ::speed_t = 0o010012; | |
907 | pub const B2000000: ::speed_t = 0o010013; | |
908 | pub const B2500000: ::speed_t = 0o010014; | |
909 | pub const B3000000: ::speed_t = 0o010015; | |
910 | pub const B3500000: ::speed_t = 0o010016; | |
911 | pub const B4000000: ::speed_t = 0o010017; | |
912 | ||
913 | pub const FIOCLEX: ::c_int = 0x5451; | |
416331ca | 914 | pub const FIONCLEX: ::c_int = 0x5450; |
b7449926 XL |
915 | pub const FIONBIO: ::c_int = 0x5421; |
916 | pub const EDEADLK: ::c_int = 35; | |
917 | pub const EDEADLOCK: ::c_int = EDEADLK; | |
918 | pub const SO_PASSCRED: ::c_int = 16; | |
919 | pub const SO_PEERCRED: ::c_int = 17; | |
920 | pub const SO_RCVLOWAT: ::c_int = 18; | |
921 | pub const SO_SNDLOWAT: ::c_int = 19; | |
922 | pub const SO_RCVTIMEO: ::c_int = 20; | |
923 | pub const SO_SNDTIMEO: ::c_int = 21; | |
924 | pub const EXTPROC: ::tcflag_t = 0x00010000; | |
925 | pub const VEOL: usize = 11; | |
926 | pub const VEOL2: usize = 16; | |
927 | pub const VMIN: usize = 6; | |
928 | pub const IEXTEN: ::tcflag_t = 0x00008000; | |
929 | pub const TOSTOP: ::tcflag_t = 0x00000100; | |
930 | pub const FLUSHO: ::tcflag_t = 0x00001000; | |
931 | pub const TCGETS: ::c_int = 0x5401; | |
932 | pub const TCSETS: ::c_int = 0x5402; | |
933 | pub const TCSETSW: ::c_int = 0x5403; | |
934 | pub const TCSETSF: ::c_int = 0x5404; | |
935 | pub const TCGETA: ::c_int = 0x5405; | |
936 | pub const TCSETA: ::c_int = 0x5406; | |
937 | pub const TCSETAW: ::c_int = 0x5407; | |
938 | pub const TCSETAF: ::c_int = 0x5408; | |
939 | pub const TCSBRK: ::c_int = 0x5409; | |
940 | pub const TCXONC: ::c_int = 0x540A; | |
941 | pub const TCFLSH: ::c_int = 0x540B; | |
942 | pub const TIOCGSOFTCAR: ::c_int = 0x5419; | |
943 | pub const TIOCSSOFTCAR: ::c_int = 0x541A; | |
944 | pub const TIOCLINUX: ::c_int = 0x541C; | |
945 | pub const TIOCGSERIAL: ::c_int = 0x541E; | |
946 | pub const TIOCEXCL: ::c_int = 0x540C; | |
947 | pub const TIOCNXCL: ::c_int = 0x540D; | |
948 | pub const TIOCSCTTY: ::c_int = 0x540E; | |
949 | pub const TIOCGPGRP: ::c_int = 0x540F; | |
950 | pub const TIOCSPGRP: ::c_int = 0x5410; | |
951 | pub const TIOCOUTQ: ::c_int = 0x5411; | |
952 | pub const TIOCSTI: ::c_int = 0x5412; | |
953 | pub const TIOCGWINSZ: ::c_int = 0x5413; | |
954 | pub const TIOCSWINSZ: ::c_int = 0x5414; | |
955 | pub const TIOCMGET: ::c_int = 0x5415; | |
956 | pub const TIOCMBIS: ::c_int = 0x5416; | |
957 | pub const TIOCMBIC: ::c_int = 0x5417; | |
958 | pub const TIOCMSET: ::c_int = 0x5418; | |
959 | pub const FIONREAD: ::c_int = 0x541B; | |
960 | pub const TIOCCONS: ::c_int = 0x541D; | |
961 | ||
962 | pub const TIOCM_LE: ::c_int = 0x001; | |
963 | pub const TIOCM_DTR: ::c_int = 0x002; | |
964 | pub const TIOCM_RTS: ::c_int = 0x004; | |
965 | pub const TIOCM_ST: ::c_int = 0x008; | |
966 | pub const TIOCM_SR: ::c_int = 0x010; | |
967 | pub const TIOCM_CTS: ::c_int = 0x020; | |
968 | pub const TIOCM_CAR: ::c_int = 0x040; | |
969 | pub const TIOCM_RNG: ::c_int = 0x080; | |
970 | pub const TIOCM_DSR: ::c_int = 0x100; | |
971 | pub const TIOCM_CD: ::c_int = TIOCM_CAR; | |
972 | pub const TIOCM_RI: ::c_int = TIOCM_RNG; | |
973 | ||
e74abb32 | 974 | extern "C" { |
b7449926 XL |
975 | pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; |
976 | } | |
977 | ||
e74abb32 XL |
978 | cfg_if! { |
979 | if #[cfg(libc_align)] { | |
980 | mod align; | |
981 | pub use self::align::*; | |
982 | } | |
983 | } |