diff options
| author | Daniel Mueller <deso@posteo.net> | 2018-01-15 09:30:24 -0800 | 
|---|---|---|
| committer | Daniel Mueller <deso@posteo.net> | 2018-01-15 09:30:24 -0800 | 
| commit | d8a58488bd56ef9c09e167173124c3519bc7405d (patch) | |
| tree | f52c843b4862a8ce80b3912805638be5846166fc /libc/src/cloudabi | |
| parent | 7e6a449f276cd85ebd9201ef1a62aff3bc4d1595 (diff) | |
| download | nitrocli-d8a58488bd56ef9c09e167173124c3519bc7405d.tar.gz nitrocli-d8a58488bd56ef9c09e167173124c3519bc7405d.tar.bz2 | |
Update libc crate to 0.2.36
Import subrepo libc/:libc at 16a0f4a3d6c836f88f50c58f5d0a74a32cbf0193
Diffstat (limited to 'libc/src/cloudabi')
| -rw-r--r-- | libc/src/cloudabi/aarch64.rs | 4 | ||||
| -rw-r--r-- | libc/src/cloudabi/arm.rs | 4 | ||||
| -rw-r--r-- | libc/src/cloudabi/mod.rs | 166 | ||||
| -rw-r--r-- | libc/src/cloudabi/x86.rs | 4 | ||||
| -rw-r--r-- | libc/src/cloudabi/x86_64.rs | 4 | 
5 files changed, 182 insertions, 0 deletions
| diff --git a/libc/src/cloudabi/aarch64.rs b/libc/src/cloudabi/aarch64.rs new file mode 100644 index 0000000..4caa6d7 --- /dev/null +++ b/libc/src/cloudabi/aarch64.rs @@ -0,0 +1,4 @@ +pub type c_char = u8; +pub type c_long = i64; +pub type c_ulong = u64; +pub type wchar_t = u32; diff --git a/libc/src/cloudabi/arm.rs b/libc/src/cloudabi/arm.rs new file mode 100644 index 0000000..eca5360 --- /dev/null +++ b/libc/src/cloudabi/arm.rs @@ -0,0 +1,4 @@ +pub type c_char = u8; +pub type c_long = i32; +pub type c_ulong = u32; +pub type wchar_t = u32; diff --git a/libc/src/cloudabi/mod.rs b/libc/src/cloudabi/mod.rs new file mode 100644 index 0000000..e506414 --- /dev/null +++ b/libc/src/cloudabi/mod.rs @@ -0,0 +1,166 @@ +pub type in_addr_t = u32; +pub type in_port_t = u16; +pub type pthread_key_t = usize; +pub type pthread_t = usize; +pub type sa_family_t = u8; +pub type socklen_t = usize; +pub type time_t = i64; + +s! { +    pub struct addrinfo { +        pub ai_flags: ::c_int, +        pub ai_family: ::c_int, +        pub ai_socktype: ::c_int, +        pub ai_protocol: ::c_int, +        pub ai_addrlen: ::socklen_t, +        pub ai_addr: *mut ::sockaddr, +        pub ai_canonname: *mut ::c_char, +        pub ai_next: *mut addrinfo, +    } + +    pub struct in_addr { +        pub s_addr: in_addr_t, +    } + +    pub struct in6_addr { +        pub s6_addr: [u8; 16], +    } + +    pub struct pthread_attr_t { +        __detachstate: ::c_int, +        __stacksize: usize, +    } + +    pub struct sockaddr { +        pub sa_family: sa_family_t, +        pub sa_data: [::c_char; 0], +    } + +    pub struct sockaddr_in { +        pub sin_family: ::sa_family_t, +        pub sin_port: ::in_port_t, +        pub sin_addr: ::in_addr, +    } + +    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 struct sockaddr_storage { +        pub ss_family: ::sa_family_t, +        __ss_data: [u8; 32], +    } +} + +pub const _SC_NPROCESSORS_ONLN: ::c_int = 52; +pub const _SC_PAGESIZE: ::c_int = 54; + +pub const AF_INET: ::c_int = 1; +pub const AF_INET6: ::c_int = 2; + +pub const EACCES: ::c_int = 2; +pub const EADDRINUSE: ::c_int = 3; +pub const EADDRNOTAVAIL: ::c_int = 4; +pub const EAGAIN: ::c_int = 6; +pub const ECONNABORTED: ::c_int = 13; +pub const ECONNREFUSED: ::c_int = 14; +pub const ECONNRESET: ::c_int = 15; +pub const EEXIST: ::c_int = 20; +pub const EINTR: ::c_int = 27; +pub const EINVAL: ::c_int = 28; +pub const ENOENT: ::c_int = 44; +pub const ENOTCONN: ::c_int = 53; +pub const EPERM: ::c_int = 63; +pub const EPIPE: ::c_int = 64; +pub const ETIMEDOUT: ::c_int = 73; +pub const EWOULDBLOCK: ::c_int = EAGAIN; + +pub const EAI_SYSTEM: ::c_int = 9; + +pub const EXIT_FAILURE: ::c_int = 1; +pub const EXIT_SUCCESS: ::c_int = 0; + +pub const PTHREAD_STACK_MIN: ::size_t = 1024; + +pub const SOCK_DGRAM: ::c_int = 128; +pub const SOCK_STREAM: ::c_int = 130; + +extern { +    pub fn arc4random_buf(buf: *const ::c_void, len: ::size_t); +    pub fn freeaddrinfo(res: *mut addrinfo); +    pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char; +    pub fn getaddrinfo( +        node: *const c_char, +        service: *const c_char, +        hints: *const addrinfo, +        res: *mut *mut addrinfo, +    ) -> ::c_int; +    pub fn getsockopt( +        sockfd: ::c_int, +        level: ::c_int, +        optname: ::c_int, +        optval: *mut ::c_void, +        optlen: *mut ::socklen_t, +    ) -> ::c_int; +    pub fn posix_memalign( +        memptr: *mut *mut ::c_void, +        align: ::size_t, +        size: ::size_t, +    ) -> ::c_int; +    pub fn pthread_attr_destroy(attr: *mut ::pthread_attr_t) -> ::c_int; +    pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int; +    pub fn pthread_attr_setstacksize( +        attr: *mut ::pthread_attr_t, +        stack_size: ::size_t, +    ) -> ::c_int; +    pub fn pthread_create( +        native: *mut ::pthread_t, +        attr: *const ::pthread_attr_t, +        f: extern fn(*mut ::c_void) -> *mut ::c_void, +        value: *mut ::c_void, +    ) -> ::c_int; +    pub fn pthread_detach(thread: ::pthread_t) -> ::c_int; +    pub fn pthread_getspecific(key: pthread_key_t) -> *mut ::c_void; +    pub fn pthread_join( +        native: ::pthread_t, +        value: *mut *mut ::c_void, +    ) -> ::c_int; +    pub fn pthread_key_create( +        key: *mut pthread_key_t, +        dtor: Option<unsafe extern fn(*mut ::c_void)>, +    ) -> ::c_int; +    pub fn pthread_key_delete(key: pthread_key_t) -> ::c_int; +    pub fn pthread_setspecific( +        key: pthread_key_t, +        value: *const ::c_void, +    ) -> ::c_int; +    pub fn send( +        socket: ::c_int, +        buf: *const ::c_void, +        len: ::size_t, +        flags: ::c_int, +    ) -> ::ssize_t; +    pub fn sysconf(name: ::c_int) -> ::c_long; +} + +cfg_if! { +    if #[cfg(target_arch = "aarch64")] { +        mod aarch64; +        pub use self::aarch64::*; +    } else if #[cfg(any(target_arch = "arm"))] { +        mod arm; +        pub use self::arm::*; +    } else if #[cfg(any(target_arch = "x86"))] { +        mod x86; +        pub use self::x86::*; +    } else if #[cfg(any(target_arch = "x86_64"))] { +        mod x86_64; +        pub use self::x86_64::*; +    } else { +        // Unknown target_arch +    } +} diff --git a/libc/src/cloudabi/x86.rs b/libc/src/cloudabi/x86.rs new file mode 100644 index 0000000..2f9f39c --- /dev/null +++ b/libc/src/cloudabi/x86.rs @@ -0,0 +1,4 @@ +pub type c_char = i8; +pub type c_long = i32; +pub type c_ulong = u32; +pub type wchar_t = i32; diff --git a/libc/src/cloudabi/x86_64.rs b/libc/src/cloudabi/x86_64.rs new file mode 100644 index 0000000..bb17624 --- /dev/null +++ b/libc/src/cloudabi/x86_64.rs @@ -0,0 +1,4 @@ +pub type c_char = i8; +pub type c_long = i64; +pub type c_ulong = u64; +pub type wchar_t = i32; | 
