diff --git a/src/lib.rs b/src/lib.rs index 797c5394f904d751d54c3e16c9b6bf7b1d20bb34..5df3b5b38f3b8de0a120f10ebcdb2ebd8fac855f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -101,8 +101,6 @@ pub type ssize_t = isize; pub enum FILE {} pub enum fpos_t {} -pub enum DIR {} -pub enum dirent {} extern { pub fn isalnum(c: c_int) -> c_int; diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index 7aefcab271e45232da09c7d42c47ae2de77a9611..e50eb49ade13a39bcd9f24ed1cb9d3e8530f76ef 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -83,11 +83,20 @@ s! { pub st_qspare: [::int64_t; 2], } + pub struct dirent { + pub d_ino: u64, + pub d_seekoff: u64, + pub d_reclen: u16, + pub d_namlen: u16, + pub d_type: u8, + pub d_name: [::c_char; 1024], + } pub struct pthread_mutex_t { __sig: ::c_long, __opaque: [u8; __PTHREAD_MUTEX_SIZE__], } + pub struct pthread_mutexattr_t { __sig: ::c_long, __opaque: [u8; 8], diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs index 043eb64afa7b043f76d971c89a5830d20c30b18a..d4342eae3c0cb03d1d22d0f15802f97e6ac48998 100644 --- a/src/unix/bsd/freebsdlike/mod.rs +++ b/src/unix/bsd/freebsdlike/mod.rs @@ -16,6 +16,14 @@ pub type pthread_key_t = ::c_int; pub enum timezone {} s! { + pub struct dirent { + pub d_fileno: u32, + pub d_reclen: u16, + pub d_type: u8, + pub d_namelen: u8, + pub d_name: [::c_char; 256], + } + pub struct glob_t { pub gl_pathc: ::size_t, __unused1: ::size_t, diff --git a/src/unix/bsd/openbsdlike/mod.rs b/src/unix/bsd/openbsdlike/mod.rs index ecd1579e0c211ad66de0aac4907916ec4e9c27d9..d78c4171fa8164a115f9a078157a03d87f618dbf 100644 --- a/src/unix/bsd/openbsdlike/mod.rs +++ b/src/unix/bsd/openbsdlike/mod.rs @@ -22,6 +22,16 @@ pub type rlim_t = u64; pub enum timezone {} s! { + pub struct dirent { + pub d_fileno: ::ino_t, + pub d_off: ::off_t, + pub d_reclen: u16, + pub d_type: u8, + pub d_namelen: u8, + __d_padding: [u8; 4], + pub d_name: [::c_char; 256], + } + pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, diff --git a/src/unix/mod.rs b/src/unix/mod.rs index c78058674d1b6de29b7b1b844ede0cca19839f6d..cb45123f9e8cae97d9fb22d1015ac1a6e4aaf704 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -10,6 +10,8 @@ pub type in_addr_t = u32; pub type in_port_t = u16; pub type sighandler_t = ::size_t; +pub enum DIR {} + s! { pub struct utimbuf { pub actime: time_t, diff --git a/src/unix/notbsd/android/mod.rs b/src/unix/notbsd/android/mod.rs index e26bceac30c9281b25361cb5dfc3ec3eda8621fd..6187f315858715b699dbc8da51b7f2d675f81ea3 100644 --- a/src/unix/notbsd/android/mod.rs +++ b/src/unix/notbsd/android/mod.rs @@ -43,6 +43,14 @@ s! { pub st_ino: ::c_ulonglong, } + pub struct dirent { + pub d_ino: u64, + pub d_off: i64, + pub d_reclen: ::c_ushort, + pub d_type: ::c_uchar, + pub d_name: [::c_char; 256], + } + pub struct pthread_attr_t { pub flags: ::uint32_t, pub stack_base: *mut ::c_void, diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs index 6606b41c9c6e0f2489fe2e8e83e7df7b4b0a6def..67d7d7c833f9a7777228601995babf77ca13c282 100644 --- a/src/unix/notbsd/linux/mod.rs +++ b/src/unix/notbsd/linux/mod.rs @@ -7,6 +7,14 @@ pub type pthread_t = c_ulong; pub type mode_t = u32; s! { + pub struct dirent { + pub d_ino: ::ino_t, + pub d_off: ::off_t, + pub d_reclen: ::c_ushort, + pub d_type: ::c_uchar, + pub d_name: [::c_char; 256], + } + pub struct glob_t { pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut c_char,