2015-12-29 21:00:29 +01:00
|
|
|
pub type c_char = i8;
|
|
|
|
pub type wchar_t = i32;
|
|
|
|
pub type c_long = i64;
|
|
|
|
pub type c_ulong = u64;
|
2016-01-31 01:51:14 +01:00
|
|
|
pub type nlink_t = u64;
|
2015-12-29 21:00:29 +01:00
|
|
|
|
2016-03-01 08:02:36 +01:00
|
|
|
s! {
|
|
|
|
pub struct stat {
|
|
|
|
pub st_dev: ::dev_t,
|
|
|
|
pub st_ino: ::ino_t,
|
|
|
|
pub st_nlink: ::nlink_t,
|
|
|
|
pub st_mode: ::mode_t,
|
|
|
|
pub st_uid: ::uid_t,
|
|
|
|
pub st_gid: ::gid_t,
|
|
|
|
__pad0: ::c_int,
|
|
|
|
pub st_rdev: ::dev_t,
|
|
|
|
pub st_size: ::off_t,
|
|
|
|
pub st_blksize: ::blksize_t,
|
|
|
|
pub st_blocks: ::blkcnt_t,
|
|
|
|
pub st_atime: ::time_t,
|
|
|
|
pub st_atime_nsec: ::c_long,
|
|
|
|
pub st_mtime: ::time_t,
|
|
|
|
pub st_mtime_nsec: ::c_long,
|
|
|
|
pub st_ctime: ::time_t,
|
|
|
|
pub st_ctime_nsec: ::c_long,
|
|
|
|
__unused: [::c_long; 3],
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct stat64 {
|
|
|
|
pub st_dev: ::dev_t,
|
|
|
|
pub st_ino: ::ino64_t,
|
|
|
|
pub st_nlink: ::nlink_t,
|
|
|
|
pub st_mode: ::mode_t,
|
|
|
|
pub st_uid: ::uid_t,
|
|
|
|
pub st_gid: ::gid_t,
|
|
|
|
__pad0: ::c_int,
|
|
|
|
pub st_rdev: ::dev_t,
|
|
|
|
pub st_size: ::off_t,
|
|
|
|
pub st_blksize: ::blksize_t,
|
|
|
|
pub st_blocks: ::blkcnt64_t,
|
|
|
|
pub st_atime: ::time_t,
|
|
|
|
pub st_atime_nsec: ::c_long,
|
|
|
|
pub st_mtime: ::time_t,
|
|
|
|
pub st_mtime_nsec: ::c_long,
|
|
|
|
pub st_ctime: ::time_t,
|
|
|
|
pub st_ctime_nsec: ::c_long,
|
|
|
|
__reserved: [::c_long; 3],
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct stack_t {
|
|
|
|
pub ss_sp: *mut ::c_void,
|
|
|
|
pub ss_flags: ::c_int,
|
|
|
|
pub ss_size: ::size_t
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct pthread_attr_t {
|
|
|
|
__size: [u64; 7]
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct sigset_t {
|
|
|
|
__val: [::c_ulong; 16],
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct shmid_ds {
|
|
|
|
pub shm_perm: ::ipc_perm,
|
|
|
|
pub shm_segsz: ::size_t,
|
|
|
|
pub shm_atime: ::time_t,
|
|
|
|
pub shm_dtime: ::time_t,
|
|
|
|
pub shm_ctime: ::time_t,
|
|
|
|
pub shm_cpid: ::pid_t,
|
|
|
|
pub shm_lpid: ::pid_t,
|
|
|
|
pub shm_nattch: ::c_ulong,
|
|
|
|
__pad1: ::c_ulong,
|
|
|
|
__pad2: ::c_ulong,
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct statfs {
|
|
|
|
pub f_type: ::c_ulong,
|
|
|
|
pub f_bsize: ::c_ulong,
|
|
|
|
pub f_blocks: ::fsblkcnt_t,
|
|
|
|
pub f_bfree: ::fsblkcnt_t,
|
|
|
|
pub f_bavail: ::fsblkcnt_t,
|
|
|
|
pub f_files: ::fsfilcnt_t,
|
|
|
|
pub f_ffree: ::fsfilcnt_t,
|
|
|
|
pub f_fsid: ::fsid_t,
|
|
|
|
pub f_namelen: ::c_ulong,
|
|
|
|
pub f_frsize: ::c_ulong,
|
|
|
|
pub f_flags: ::c_ulong,
|
|
|
|
pub f_spare: [::c_ulong; 4],
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct msghdr {
|
|
|
|
pub msg_name: *mut ::c_void,
|
|
|
|
pub msg_namelen: ::socklen_t,
|
|
|
|
pub msg_iov: *mut ::iovec,
|
|
|
|
pub msg_iovlen: ::c_int,
|
|
|
|
__pad1: ::c_int,
|
|
|
|
pub msg_control: *mut ::c_void,
|
|
|
|
pub msg_controllen: ::socklen_t,
|
|
|
|
__pad2: ::socklen_t,
|
|
|
|
pub msg_flags: ::c_int,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-12-29 21:00:29 +01:00
|
|
|
pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
|
|
|
|
pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
|
|
|
|
|
2016-01-30 07:28:50 +01:00
|
|
|
pub const O_DIRECT: ::c_int = 0x4000;
|
|
|
|
pub const O_DIRECTORY: ::c_int = 0x10000;
|
|
|
|
pub const O_NOFOLLOW: ::c_int = 0x20000;
|
|
|
|
pub const O_ASYNC: ::c_int = 0x2000;
|
|
|
|
|
|
|
|
pub const FIOCLEX: ::c_int = 0x5451;
|
|
|
|
pub const FIONBIO: ::c_int = 0x5421;
|
|
|
|
|
|
|
|
pub const RLIMIT_RSS: ::c_int = 5;
|
|
|
|
pub const RLIMIT_NOFILE: ::c_int = 7;
|
|
|
|
pub const RLIMIT_AS: ::c_int = 9;
|
|
|
|
pub const RLIMIT_NPROC: ::c_int = 6;
|
|
|
|
pub const RLIMIT_MEMLOCK: ::c_int = 8;
|
|
|
|
|
|
|
|
pub const O_APPEND: ::c_int = 1024;
|
|
|
|
pub const O_CREAT: ::c_int = 64;
|
|
|
|
pub const O_EXCL: ::c_int = 128;
|
|
|
|
pub const O_NOCTTY: ::c_int = 256;
|
|
|
|
pub const O_NONBLOCK: ::c_int = 2048;
|
|
|
|
pub const O_SYNC: ::c_int = 1052672;
|
|
|
|
pub const O_RSYNC: ::c_int = 1052672;
|
|
|
|
pub const O_DSYNC: ::c_int = 4096;
|
|
|
|
|
|
|
|
pub const SOCK_NONBLOCK: ::c_int = 2048;
|
|
|
|
|
|
|
|
pub const MAP_ANON: ::c_int = 0x0020;
|
|
|
|
pub const MAP_GROWSDOWN: ::c_int = 0x0100;
|
|
|
|
pub const MAP_DENYWRITE: ::c_int = 0x0800;
|
|
|
|
pub const MAP_EXECUTABLE: ::c_int = 0x01000;
|
|
|
|
pub const MAP_LOCKED: ::c_int = 0x02000;
|
|
|
|
pub const MAP_NORESERVE: ::c_int = 0x04000;
|
|
|
|
pub const MAP_POPULATE: ::c_int = 0x08000;
|
|
|
|
pub const MAP_NONBLOCK: ::c_int = 0x010000;
|
|
|
|
pub const MAP_STACK: ::c_int = 0x020000;
|
2016-03-01 08:02:36 +01:00
|
|
|
pub const MAP_32BIT: ::c_int = 0x0040;
|
2016-01-30 07:28:50 +01:00
|
|
|
|
|
|
|
pub const SOCK_STREAM: ::c_int = 1;
|
|
|
|
pub const SOCK_DGRAM: ::c_int = 2;
|
|
|
|
|
|
|
|
pub const SOL_SOCKET: ::c_int = 1;
|
|
|
|
|
|
|
|
pub const EDEADLK: ::c_int = 35;
|
|
|
|
pub const ENAMETOOLONG: ::c_int = 36;
|
|
|
|
pub const ENOLCK: ::c_int = 37;
|
|
|
|
pub const ENOSYS: ::c_int = 38;
|
|
|
|
pub const ENOTEMPTY: ::c_int = 39;
|
|
|
|
pub const ELOOP: ::c_int = 40;
|
|
|
|
pub const ENOMSG: ::c_int = 42;
|
|
|
|
pub const EIDRM: ::c_int = 43;
|
|
|
|
pub const ECHRNG: ::c_int = 44;
|
|
|
|
pub const EL2NSYNC: ::c_int = 45;
|
|
|
|
pub const EL3HLT: ::c_int = 46;
|
|
|
|
pub const EL3RST: ::c_int = 47;
|
|
|
|
pub const ELNRNG: ::c_int = 48;
|
|
|
|
pub const EUNATCH: ::c_int = 49;
|
|
|
|
pub const ENOCSI: ::c_int = 50;
|
|
|
|
pub const EL2HLT: ::c_int = 51;
|
|
|
|
pub const EBADE: ::c_int = 52;
|
|
|
|
pub const EBADR: ::c_int = 53;
|
|
|
|
pub const EXFULL: ::c_int = 54;
|
|
|
|
pub const ENOANO: ::c_int = 55;
|
|
|
|
pub const EBADRQC: ::c_int = 56;
|
|
|
|
pub const EBADSLT: ::c_int = 57;
|
|
|
|
pub const EDEADLOCK: ::c_int = EDEADLK;
|
|
|
|
pub const EMULTIHOP: ::c_int = 72;
|
|
|
|
pub const EBADMSG: ::c_int = 74;
|
|
|
|
pub const EOVERFLOW: ::c_int = 75;
|
|
|
|
pub const ENOTUNIQ: ::c_int = 76;
|
|
|
|
pub const EBADFD: ::c_int = 77;
|
|
|
|
pub const EREMCHG: ::c_int = 78;
|
|
|
|
pub const ELIBACC: ::c_int = 79;
|
|
|
|
pub const ELIBBAD: ::c_int = 80;
|
|
|
|
pub const ELIBSCN: ::c_int = 81;
|
|
|
|
pub const ELIBMAX: ::c_int = 82;
|
|
|
|
pub const ELIBEXEC: ::c_int = 83;
|
|
|
|
pub const EILSEQ: ::c_int = 84;
|
|
|
|
pub const ERESTART: ::c_int = 85;
|
|
|
|
pub const ESTRPIPE: ::c_int = 86;
|
|
|
|
pub const EUSERS: ::c_int = 87;
|
|
|
|
pub const ENOTSOCK: ::c_int = 88;
|
|
|
|
pub const EDESTADDRREQ: ::c_int = 89;
|
|
|
|
pub const EMSGSIZE: ::c_int = 90;
|
|
|
|
pub const EPROTOTYPE: ::c_int = 91;
|
|
|
|
pub const ENOPROTOOPT: ::c_int = 92;
|
|
|
|
pub const EPROTONOSUPPORT: ::c_int = 93;
|
|
|
|
pub const ESOCKTNOSUPPORT: ::c_int = 94;
|
|
|
|
pub const EOPNOTSUPP: ::c_int = 95;
|
|
|
|
pub const EPFNOSUPPORT: ::c_int = 96;
|
|
|
|
pub const EAFNOSUPPORT: ::c_int = 97;
|
|
|
|
pub const EADDRINUSE: ::c_int = 98;
|
|
|
|
pub const EADDRNOTAVAIL: ::c_int = 99;
|
|
|
|
pub const ENETDOWN: ::c_int = 100;
|
|
|
|
pub const ENETUNREACH: ::c_int = 101;
|
|
|
|
pub const ENETRESET: ::c_int = 102;
|
|
|
|
pub const ECONNABORTED: ::c_int = 103;
|
|
|
|
pub const ECONNRESET: ::c_int = 104;
|
|
|
|
pub const ENOBUFS: ::c_int = 105;
|
|
|
|
pub const EISCONN: ::c_int = 106;
|
|
|
|
pub const ENOTCONN: ::c_int = 107;
|
|
|
|
pub const ESHUTDOWN: ::c_int = 108;
|
|
|
|
pub const ETOOMANYREFS: ::c_int = 109;
|
|
|
|
pub const ETIMEDOUT: ::c_int = 110;
|
|
|
|
pub const ECONNREFUSED: ::c_int = 111;
|
|
|
|
pub const EHOSTDOWN: ::c_int = 112;
|
|
|
|
pub const EHOSTUNREACH: ::c_int = 113;
|
|
|
|
pub const EALREADY: ::c_int = 114;
|
|
|
|
pub const EINPROGRESS: ::c_int = 115;
|
|
|
|
pub const ESTALE: ::c_int = 116;
|
|
|
|
pub const EUCLEAN: ::c_int = 117;
|
|
|
|
pub const ENOTNAM: ::c_int = 118;
|
|
|
|
pub const ENAVAIL: ::c_int = 119;
|
|
|
|
pub const EISNAM: ::c_int = 120;
|
|
|
|
pub const EREMOTEIO: ::c_int = 121;
|
|
|
|
pub const EDQUOT: ::c_int = 122;
|
|
|
|
pub const ENOMEDIUM: ::c_int = 123;
|
|
|
|
pub const EMEDIUMTYPE: ::c_int = 124;
|
|
|
|
pub const ECANCELED: ::c_int = 125;
|
|
|
|
pub const ENOKEY: ::c_int = 126;
|
|
|
|
pub const EKEYEXPIRED: ::c_int = 127;
|
|
|
|
pub const EKEYREVOKED: ::c_int = 128;
|
|
|
|
pub const EKEYREJECTED: ::c_int = 129;
|
|
|
|
pub const EOWNERDEAD: ::c_int = 130;
|
|
|
|
pub const ENOTRECOVERABLE: ::c_int = 131;
|
|
|
|
pub const ERFKILL: ::c_int = 132;
|
|
|
|
pub const EHWPOISON: ::c_int = 133;
|
|
|
|
|
|
|
|
pub const SO_REUSEADDR: ::c_int = 2;
|
|
|
|
pub const SO_TYPE: ::c_int = 3;
|
|
|
|
pub const SO_ERROR: ::c_int = 4;
|
|
|
|
pub const SO_DONTROUTE: ::c_int = 5;
|
|
|
|
pub const SO_BROADCAST: ::c_int = 6;
|
|
|
|
pub const SO_SNDBUF: ::c_int = 7;
|
|
|
|
pub const SO_RCVBUF: ::c_int = 8;
|
|
|
|
pub const SO_KEEPALIVE: ::c_int = 9;
|
|
|
|
pub const SO_OOBINLINE: ::c_int = 10;
|
|
|
|
pub const SO_LINGER: ::c_int = 13;
|
|
|
|
pub const SO_REUSEPORT: ::c_int = 15;
|
|
|
|
pub const SO_RCVLOWAT: ::c_int = 18;
|
|
|
|
pub const SO_SNDLOWAT: ::c_int = 19;
|
|
|
|
pub const SO_RCVTIMEO: ::c_int = 20;
|
|
|
|
pub const SO_SNDTIMEO: ::c_int = 21;
|
|
|
|
pub const SO_ACCEPTCONN: ::c_int = 30;
|
|
|
|
|
|
|
|
pub const SA_ONSTACK: ::c_int = 0x08000000;
|
|
|
|
pub const SA_SIGINFO: ::c_int = 0x00000004;
|
|
|
|
pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
|
|
|
|
|
|
|
|
pub const SIGCHLD: ::c_int = 17;
|
|
|
|
pub const SIGBUS: ::c_int = 7;
|
|
|
|
pub const SIGTTIN: ::c_int = 21;
|
|
|
|
pub const SIGTTOU: ::c_int = 22;
|
|
|
|
pub const SIGXCPU: ::c_int = 24;
|
|
|
|
pub const SIGXFSZ: ::c_int = 25;
|
|
|
|
pub const SIGVTALRM: ::c_int = 26;
|
|
|
|
pub const SIGPROF: ::c_int = 27;
|
|
|
|
pub const SIGWINCH: ::c_int = 28;
|
|
|
|
pub const SIGUSR1: ::c_int = 10;
|
|
|
|
pub const SIGUSR2: ::c_int = 12;
|
|
|
|
pub const SIGCONT: ::c_int = 18;
|
|
|
|
pub const SIGSTOP: ::c_int = 19;
|
|
|
|
pub const SIGTSTP: ::c_int = 20;
|
|
|
|
pub const SIGURG: ::c_int = 23;
|
|
|
|
pub const SIGIO: ::c_int = 29;
|
|
|
|
pub const SIGSYS: ::c_int = 31;
|
|
|
|
pub const SIGSTKFLT: ::c_int = 16;
|
|
|
|
pub const SIGPOLL: ::c_int = 29;
|
|
|
|
pub const SIGPWR: ::c_int = 30;
|
|
|
|
pub const SIG_SETMASK: ::c_int = 2;
|
|
|
|
pub const SIG_BLOCK: ::c_int = 0x000000;
|
|
|
|
pub const SIG_UNBLOCK: ::c_int = 0x01;
|
|
|
|
|
|
|
|
pub const EXTPROC: ::tcflag_t = 0x00010000;
|
|
|
|
|
|
|
|
pub const MAP_HUGETLB: ::c_int = 0x040000;
|
|
|
|
|
2015-12-29 21:00:29 +01:00
|
|
|
pub const F_GETLK: ::c_int = 5;
|
2016-01-30 07:28:50 +01:00
|
|
|
pub const F_GETOWN: ::c_int = 9;
|
2015-12-29 21:00:29 +01:00
|
|
|
pub const F_SETLK: ::c_int = 6;
|
|
|
|
pub const F_SETLKW: ::c_int = 7;
|
2016-01-30 07:28:50 +01:00
|
|
|
pub const F_SETOWN: ::c_int = 8;
|
|
|
|
|
|
|
|
pub const VEOF: usize = 4;
|
|
|
|
pub const VEOL: usize = 11;
|
|
|
|
pub const VEOL2: usize = 16;
|
|
|
|
pub const VMIN: usize = 6;
|
|
|
|
pub const IEXTEN: ::tcflag_t = 0x00008000;
|
|
|
|
pub const TOSTOP: ::tcflag_t = 0x00000100;
|
|
|
|
pub const FLUSHO: ::tcflag_t = 0x00001000;
|
|
|
|
|
Fix ioctl constants for musl target envs.
According to musl's source, the `ioctl` [function
signature][musl-ioctl-h] takes an `int` as the request argument (i.e. an
`i32`) which is reflected in this crate's [ioctl
binding][musl-ioctl-rs]. It looks like when the ioctl constants were
added that [glibc's default][glibc-ioctl-h] of a `c_ulong` type was used
for the musl values as well, rather than a `c_int` type. This change
updates these constants to a `c_int` so that they match the expected
function call type.
Here is a minimal reproduction of the issue. Given this Rust program:
```rust
extern crate libc;
use libc::{ioctl, winsize, STDOUT_FILENO, TIOCGWINSZ};
fn main() {
let mut wsize = winsize {
ws_row: 0,
ws_col: 0,
ws_xpixel: 0,
ws_ypixel: 0,
};
unsafe {
ioctl(STDOUT_FILENO, TIOCGWINSZ, &mut wsize);
}
println!("Sizes: {{ rows: {}, cols: {}, xpixel: {}, ypixel: {} }}",
wsize.ws_row,
wsize.ws_col,
wsize.ws_xpixel,
wsize.ws_ypixel);
}
```
When run against the `x86_64-unknwon-linux-gnu` and
`x86_64-unknown-linux-musl` targets, we see the difference in behavior:
```
> cargo clean
> cargo run --target=x86_64-unknown-linux-gnu
Compiling libc v0.2.11
Compiling libc-musl-ioctl v0.1.0 (file:///src/libc-musl-ioctl)
Running `target/x86_64-unknown-linux-gnu/debug/libc-musl-ioctl`
Sizes: { rows: 28, cols: 211, xpixel: 0, ypixel: 0 }
> cargo clean
> cargo run --target=x86_64-unknown-linux-musl
Compiling libc v0.2.11
Compiling libc-musl-ioctl v0.1.0 (file:///src/libc-musl-ioctl)
src/main.rs:13:30: 13:40 error: mismatched types:
expected `i32`,
found `u64` [E0308]
src/main.rs:13 ioctl(STDOUT_FILENO, TIOCGWINSZ, &mut wsize);
^~~~~~~~~~
src/main.rs:13:30: 13:40 help: run `rustc --explain E0308` to see a detailed explanation
error: aborting due to previous error
Could not compile `libc-musl-ioctl`.
To learn more, run the command again with --verbose.
```
Working against this fix:
```
> cargo clean
> cargo run --target=x86_64-unknown-linux-gnu
Updating git repository `https://github.com/fnichol/rust-lang-libc.git`
Compiling libc v0.2.11 (https://github.com/fnichol/rust-lang-libc.git?branch=fix-musl-ioctl-constants#3285f387)
Compiling libc-musl-ioctl v0.1.0 (file:///src/libc-musl-ioctl)
Running `target/x86_64-unknown-linux-gnu/debug/libc-musl-ioctl`
Sizes: { rows: 28, cols: 211, xpixel: 0, ypixel: 0 }
> cargo clean
> cargo run --target=x86_64-unknown-linux-musl
Compiling libc v0.2.11 (https://github.com/fnichol/rust-lang-libc.git?branch=fix-musl-ioctl-constants#3285f387)
Compiling libc-musl-ioctl v0.1.0 (file:///src/libc-musl-ioctl)
Running `target/x86_64-unknown-linux-musl/debug/libc-musl-ioctl`
Sizes: { rows: 28, cols: 211, xpixel: 0, ypixel: 0 }
```
[musl-ioctl-rs]:
https://doc.rust-lang.org/libc/x86_64-unknown-linux-musl/libc/fn.ioctl.html
[musl-ioctl-h]:
https://git.musl-libc.org/cgit/musl/tree/include/sys/ioctl.h
[glibc-ioctl-h]:
http://bazaar.launchpad.net/~vcs-imports/glibc/master/view/head:/include/sys/ioctl.h
2016-05-15 21:55:45 +02:00
|
|
|
pub const TCGETS: ::c_int = 0x5401;
|
|
|
|
pub const TCSETS: ::c_int = 0x5402;
|
|
|
|
pub const TCSETSW: ::c_int = 0x5403;
|
|
|
|
pub const TCSETSF: ::c_int = 0x5404;
|
|
|
|
pub const TCGETA: ::c_int = 0x5405;
|
|
|
|
pub const TCSETA: ::c_int = 0x5406;
|
|
|
|
pub const TCSETAW: ::c_int = 0x5407;
|
|
|
|
pub const TCSETAF: ::c_int = 0x5408;
|
|
|
|
pub const TCSBRK: ::c_int = 0x5409;
|
|
|
|
pub const TCXONC: ::c_int = 0x540A;
|
|
|
|
pub const TCFLSH: ::c_int = 0x540B;
|
|
|
|
pub const TIOCGSOFTCAR: ::c_int = 0x5419;
|
|
|
|
pub const TIOCSSOFTCAR: ::c_int = 0x541A;
|
|
|
|
pub const TIOCLINUX: ::c_int = 0x541C;
|
|
|
|
pub const TIOCGSERIAL: ::c_int = 0x541E;
|
|
|
|
pub const TIOCEXCL: ::c_int = 0x540C;
|
|
|
|
pub const TIOCNXCL: ::c_int = 0x540D;
|
|
|
|
pub const TIOCSCTTY: ::c_int = 0x540E;
|
|
|
|
pub const TIOCGPGRP: ::c_int = 0x540F;
|
|
|
|
pub const TIOCSPGRP: ::c_int = 0x5410;
|
|
|
|
pub const TIOCOUTQ: ::c_int = 0x5411;
|
|
|
|
pub const TIOCSTI: ::c_int = 0x5412;
|
|
|
|
pub const TIOCGWINSZ: ::c_int = 0x5413;
|
|
|
|
pub const TIOCSWINSZ: ::c_int = 0x5414;
|
|
|
|
pub const TIOCMGET: ::c_int = 0x5415;
|
|
|
|
pub const TIOCMBIS: ::c_int = 0x5416;
|
|
|
|
pub const TIOCMBIC: ::c_int = 0x5417;
|
|
|
|
pub const TIOCMSET: ::c_int = 0x5418;
|
|
|
|
pub const FIONREAD: ::c_int = 0x541B;
|
|
|
|
pub const TIOCCONS: ::c_int = 0x541D;
|
2015-12-29 21:00:29 +01:00
|
|
|
|
2016-03-10 20:47:03 +01:00
|
|
|
cfg_if! {
|
|
|
|
if #[cfg(target_arch = "aarch64")] {
|
|
|
|
mod aarch64;
|
|
|
|
pub use self::aarch64::*;
|
|
|
|
} else if #[cfg(any(target_arch = "powerpc64"))] {
|
|
|
|
mod powerpc64;
|
|
|
|
pub use self::powerpc64::*;
|
|
|
|
} else if #[cfg(any(target_arch = "x86_64"))] {
|
|
|
|
mod x86_64;
|
|
|
|
pub use self::x86_64::*;
|
|
|
|
} else {
|
|
|
|
// Unknown target_arch
|
|
|
|
}
|
|
|
|
}
|