97 lines
2.4 KiB
Rust
97 lines
2.4 KiB
Rust
pub type c_char = i8;
|
|
pub type c_long = i64;
|
|
pub type c_ulong = u64;
|
|
|
|
pub type wchar_t = i16;
|
|
|
|
pub type off_t = c_long;
|
|
pub type mode_t = u16;
|
|
pub type time_t = i64;
|
|
pub type pid_t = usize;
|
|
pub type gid_t = usize;
|
|
pub type uid_t = usize;
|
|
|
|
pub type in_addr_t = u32;
|
|
pub type in_port_t = u16;
|
|
|
|
pub type socklen_t = u32;
|
|
pub type sa_family_t = u16;
|
|
|
|
s! {
|
|
pub struct in_addr {
|
|
pub s_addr: in_addr_t,
|
|
}
|
|
|
|
pub struct in6_addr {
|
|
pub s6_addr: [u8; 16],
|
|
__align: [u32; 0],
|
|
}
|
|
|
|
pub struct sockaddr {
|
|
pub sa_family: sa_family_t,
|
|
pub sa_data: [::c_char; 14],
|
|
}
|
|
|
|
pub struct sockaddr_in {
|
|
pub sin_family: sa_family_t,
|
|
pub sin_port: ::in_port_t,
|
|
pub sin_addr: ::in_addr,
|
|
pub sin_zero: [u8; 8],
|
|
}
|
|
|
|
pub struct sockaddr_in6 {
|
|
pub sin6_family: sa_family_t,
|
|
pub sin6_port: in_port_t,
|
|
pub sin6_flowinfo: u32,
|
|
pub sin6_addr: ::in6_addr,
|
|
pub sin6_scope_id: u32,
|
|
}
|
|
}
|
|
|
|
pub const STDIN_FILENO: ::c_int = 0;
|
|
pub const STDOUT_FILENO: ::c_int = 1;
|
|
pub const STDERR_FILENO: ::c_int = 2;
|
|
|
|
pub const EXIT_FAILURE: ::c_int = 1;
|
|
pub const EXIT_SUCCESS: ::c_int = 0;
|
|
|
|
pub const S_ISUID: ::c_int = 0x800;
|
|
pub const S_ISGID: ::c_int = 0x400;
|
|
pub const S_ISVTX: ::c_int = 0x200;
|
|
|
|
pub const S_IFIFO: mode_t = 0x1000;
|
|
pub const S_IFCHR: mode_t = 0x2000;
|
|
pub const S_IFBLK: mode_t = 0x6000;
|
|
pub const S_IFDIR: mode_t = 0x4000;
|
|
pub const S_IFREG: mode_t = 0x8000;
|
|
pub const S_IFLNK: mode_t = 0xA000;
|
|
pub const S_IFSOCK: mode_t = 0xC000;
|
|
pub const S_IFMT: mode_t = 0xF000;
|
|
pub const S_IEXEC: mode_t = 0x40;
|
|
pub const S_IWRITE: mode_t = 0x80;
|
|
pub const S_IREAD: mode_t = 0x100;
|
|
pub const S_IRWXU: mode_t = 0x1C0;
|
|
pub const S_IXUSR: mode_t = 0x40;
|
|
pub const S_IWUSR: mode_t = 0x80;
|
|
pub const S_IRUSR: mode_t = 0x100;
|
|
pub const S_IRWXG: mode_t = 0x38;
|
|
pub const S_IXGRP: mode_t = 0x8;
|
|
pub const S_IWGRP: mode_t = 0x10;
|
|
pub const S_IRGRP: mode_t = 0x20;
|
|
pub const S_IRWXO: mode_t = 0x7;
|
|
pub const S_IXOTH: mode_t = 0x1;
|
|
pub const S_IWOTH: mode_t = 0x2;
|
|
pub const S_IROTH: mode_t = 0x4;
|
|
|
|
extern {
|
|
pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
|
|
pub fn read(fd: ::c_int, buf: *mut ::c_void, count: ::size_t)
|
|
-> ::ssize_t;
|
|
pub fn write(fd: ::c_int, buf: *const ::c_void, count: ::size_t)
|
|
-> ::ssize_t;
|
|
}
|
|
|
|
#[link(name = "c")]
|
|
#[link(name = "m")]
|
|
extern {}
|