diff options
author | bors <bors@rust-lang.org> | 2022-12-03 00:18:45 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2022-12-03 00:18:45 +0000 |
commit | 2eea8737bfec1d5819eaa6e08c602361cbf82e1a (patch) | |
tree | c75400ec50c96fbf79770fad4117b2b6cd5f0353 /src | |
parent | 15d27952bfa93e5e4f419c603f275486f15a050c (diff) | |
parent | 27cc898f59e64579b51fae82a381c99566810e05 (diff) | |
download | rust-libc-2eea8737bfec1d5819eaa6e08c602361cbf82e1a.tar.gz |
Auto merge of #3021 - devnexen:getopt_long, r=JohnTitor
adding getopt_long for unixes.
Diffstat (limited to 'src')
-rw-r--r-- | src/unix/bsd/mod.rs | 14 | ||||
-rw-r--r-- | src/unix/haiku/mod.rs | 15 | ||||
-rw-r--r-- | src/unix/linux_like/android/mod.rs | 14 | ||||
-rw-r--r-- | src/unix/linux_like/linux/mod.rs | 14 | ||||
-rw-r--r-- | src/unix/solarish/mod.rs | 15 |
5 files changed, 71 insertions, 1 deletions
diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs index 50177015a9..d49e3c4402 100644 --- a/src/unix/bsd/mod.rs +++ b/src/unix/bsd/mod.rs @@ -115,6 +115,13 @@ s! { pub rm_so: regoff_t, pub rm_eo: regoff_t, } + + pub struct option { + pub name: *const ::c_char, + pub has_arg: ::c_int, + pub flag: *mut ::c_int, + pub val: ::c_int, + } } s_no_extra_traits! { @@ -885,6 +892,13 @@ extern "C" { pub fn srand48(seed: ::c_long); pub fn seed48(xseed: *mut ::c_ushort) -> *mut ::c_ushort; pub fn lcong48(p: *mut ::c_ushort); + pub fn getopt_long( + argc: ::c_int, + argv: *const *mut c_char, + optstring: *const c_char, + longopts: *const option, + longindex: *mut ::c_int, + ) -> ::c_int; } cfg_if! { diff --git a/src/unix/haiku/mod.rs b/src/unix/haiku/mod.rs index bb2e0351bf..005b1d9df5 100644 --- a/src/unix/haiku/mod.rs +++ b/src/unix/haiku/mod.rs @@ -430,6 +430,13 @@ s! { pub key: *mut ::c_char, pub data: *mut ::c_void, } + + pub struct option { + pub name: *const ::c_char, + pub has_arg: ::c_int, + pub flag: *mut ::c_int, + pub val: ::c_int, + } } s_no_extra_traits! { @@ -1971,7 +1978,13 @@ extern "C" { attr: *mut posix_spawnattr_t, sigmask: *const ::sigset_t, ) -> ::c_int; - + pub fn getopt_long( + argc: ::c_int, + argv: *const *mut c_char, + optstring: *const c_char, + longopts: *const option, + longindex: *mut ::c_int, + ) -> ::c_int; } #[link(name = "bsd")] diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index 4c3dd4c88c..61885582aa 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -482,6 +482,13 @@ s! { pub code: ::__u16, pub absinfo: input_absinfo, } + + pub struct option { + pub name: *const ::c_char, + pub has_arg: ::c_int, + pub flag: *mut ::c_int, + pub val: ::c_int, + } } s_no_extra_traits! { @@ -3471,6 +3478,13 @@ extern "C" { pub fn dirname(path: *const ::c_char) -> *mut ::c_char; pub fn basename(path: *const ::c_char) -> *mut ::c_char; + pub fn getopt_long( + argc: ::c_int, + argv: *const *mut c_char, + optstring: *const c_char, + longopts: *const option, + longindex: *mut ::c_int, + ) -> ::c_int; } cfg_if! { diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 6faf3ae04e..f0a0820c3d 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -618,6 +618,13 @@ s! { pub ifr6_prefixlen: u32, pub ifr6_ifindex: ::c_int, } + + pub struct option { + pub name: *const ::c_char, + pub has_arg: ::c_int, + pub flag: *mut ::c_int, + pub val: ::c_int, + } } s_no_extra_traits! { @@ -4441,6 +4448,13 @@ extern "C" { pub fn pthread_getname_np(thread: ::pthread_t, name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn pthread_setname_np(thread: ::pthread_t, name: *const ::c_char) -> ::c_int; + pub fn getopt_long( + argc: ::c_int, + argv: *const *mut c_char, + optstring: *const c_char, + longopts: *const option, + longindex: *mut ::c_int, + ) -> ::c_int; } cfg_if! { diff --git a/src/unix/solarish/mod.rs b/src/unix/solarish/mod.rs index 6b0557d359..abe304e8ea 100644 --- a/src/unix/solarish/mod.rs +++ b/src/unix/solarish/mod.rs @@ -466,6 +466,13 @@ s! { pub pi_fputypes: [::c_char; PI_FPUTYPE as usize], pub pi_clock: ::c_int, } + + pub struct option { + pub name: *const ::c_char, + pub has_arg: ::c_int, + pub flag: *mut ::c_int, + pub val: ::c_int, + } } s_no_extra_traits! { @@ -3182,6 +3189,14 @@ extern "C" { pub fn backtrace(buffer: *mut *mut ::c_void, size: ::c_int) -> ::c_int; pub fn backtrace_symbols(buffer: *const *mut ::c_void, size: ::c_int) -> *mut *mut ::c_char; pub fn backtrace_symbols_fd(buffer: *const *mut ::c_void, size: ::c_int, fd: ::c_int); + + pub fn getopt_long( + argc: ::c_int, + argv: *const *mut c_char, + optstring: *const c_char, + longopts: *const option, + longindex: *mut ::c_int, + ) -> ::c_int; } #[link(name = "sendfile")] |