Rollup merge of #23457 - nagisa:get-set-resources, r=alexcrichton
Hopefully didn’t miss or mess up anything. ~~EDIT: ah, as usual, just didn’t bother running build before pushing a submit request button. Build pending.~~
This commit is contained in:
commit
48df3fb678
1 changed files with 300 additions and 0 deletions
|
@ -131,6 +131,7 @@ pub use funcs::bsd43::*;
|
|||
#[cfg(unix)] pub use funcs::posix88::net::*;
|
||||
#[cfg(unix)] pub use funcs::posix01::stat_::*;
|
||||
#[cfg(unix)] pub use funcs::posix01::unistd::*;
|
||||
#[cfg(unix)] pub use funcs::posix01::resource::*;
|
||||
|
||||
|
||||
#[cfg(windows)] pub use funcs::extra::kernel32::*;
|
||||
|
@ -223,6 +224,7 @@ pub mod types {
|
|||
pub type pthread_t = c_ulong;
|
||||
#[cfg(target_os = "nacl")]
|
||||
pub type pthread_t = *mut c_void;
|
||||
pub type rlim_t = u64;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)] pub struct glob_t {
|
||||
|
@ -252,7 +254,42 @@ pub mod types {
|
|||
#[derive(Copy)] pub enum timezone {}
|
||||
|
||||
pub type sighandler_t = size_t;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rlimit {
|
||||
pub rlim_cur: rlim_t,
|
||||
pub rlim_max: rlim_t,
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd43 {
|
||||
use types::os::common::posix01::timeval;
|
||||
use types::os::arch::c95::c_long;
|
||||
// This is also specified in POSIX 2001, but only has two fields. All implementors
|
||||
// implement BSD 4.3 version.
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rusage {
|
||||
pub ru_utime: timeval,
|
||||
pub ru_stime: timeval,
|
||||
pub ru_maxrss: c_long,
|
||||
pub ru_ixrss: c_long,
|
||||
pub ru_idrss: c_long,
|
||||
pub ru_isrss: c_long,
|
||||
pub ru_minflt: c_long,
|
||||
pub ru_majflt: c_long,
|
||||
pub ru_nswap: c_long,
|
||||
pub ru_inblock: c_long,
|
||||
pub ru_oublock: c_long,
|
||||
pub ru_msgsnd: c_long,
|
||||
pub ru_msgrcv: c_long,
|
||||
pub ru_nsignals: c_long,
|
||||
pub ru_nvcsw: c_long,
|
||||
pub ru_nivcsw: c_long
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd44 {
|
||||
use types::common::c95::{c_void};
|
||||
use types::os::arch::c95::{c_char, c_int, c_uint};
|
||||
|
@ -734,6 +771,7 @@ pub mod types {
|
|||
use types::os::arch::c99::{uintptr_t};
|
||||
|
||||
pub type pthread_t = uintptr_t;
|
||||
pub type rlim_t = i64;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)] pub struct glob_t {
|
||||
|
@ -767,7 +805,40 @@ pub mod types {
|
|||
#[derive(Copy)] pub enum timezone {}
|
||||
|
||||
pub type sighandler_t = size_t;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rlimit {
|
||||
pub rlim_cur: rlim_t,
|
||||
pub rlim_max: rlim_t,
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd43 {
|
||||
use types::os::common::posix01::timeval;
|
||||
use types::os::arch::c95::c_long;
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rusage {
|
||||
pub ru_utime: timeval,
|
||||
pub ru_stime: timeval,
|
||||
pub ru_maxrss: c_long,
|
||||
pub ru_ixrss: c_long,
|
||||
pub ru_idrss: c_long,
|
||||
pub ru_isrss: c_long,
|
||||
pub ru_minflt: c_long,
|
||||
pub ru_majflt: c_long,
|
||||
pub ru_nswap: c_long,
|
||||
pub ru_inblock: c_long,
|
||||
pub ru_oublock: c_long,
|
||||
pub ru_msgsnd: c_long,
|
||||
pub ru_msgrcv: c_long,
|
||||
pub ru_nsignals: c_long,
|
||||
pub ru_nvcsw: c_long,
|
||||
pub ru_nivcsw: c_long
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd44 {
|
||||
use types::common::c95::{c_void};
|
||||
use types::os::arch::c95::{c_char, c_int, c_uint};
|
||||
|
@ -962,6 +1033,7 @@ pub mod types {
|
|||
use types::os::arch::c99::{uintptr_t};
|
||||
|
||||
pub type pthread_t = uintptr_t;
|
||||
pub type rlim_t = i64;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)] pub struct glob_t {
|
||||
|
@ -995,7 +1067,40 @@ pub mod types {
|
|||
#[derive(Copy)] pub enum timezone {}
|
||||
|
||||
pub type sighandler_t = size_t;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rlimit {
|
||||
pub rlim_cur: rlim_t,
|
||||
pub rlim_max: rlim_t,
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd43 {
|
||||
use types::os::common::posix01::timeval;
|
||||
use types::os::arch::c95::c_long;
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rusage {
|
||||
pub ru_utime: timeval,
|
||||
pub ru_stime: timeval,
|
||||
pub ru_maxrss: c_long,
|
||||
pub ru_ixrss: c_long,
|
||||
pub ru_idrss: c_long,
|
||||
pub ru_isrss: c_long,
|
||||
pub ru_minflt: c_long,
|
||||
pub ru_majflt: c_long,
|
||||
pub ru_nswap: c_long,
|
||||
pub ru_inblock: c_long,
|
||||
pub ru_oublock: c_long,
|
||||
pub ru_msgsnd: c_long,
|
||||
pub ru_msgrcv: c_long,
|
||||
pub ru_nsignals: c_long,
|
||||
pub ru_nvcsw: c_long,
|
||||
pub ru_nivcsw: c_long
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd44 {
|
||||
use types::common::c95::{c_void};
|
||||
use types::os::arch::c95::{c_char, c_int, c_uint};
|
||||
|
@ -1189,6 +1294,7 @@ pub mod types {
|
|||
use types::os::arch::c99::{uintptr_t};
|
||||
|
||||
pub type pthread_t = uintptr_t;
|
||||
pub type rlim_t = u64;
|
||||
|
||||
#[cfg(target_os = "bitrig")]
|
||||
#[repr(C)]
|
||||
|
@ -1241,7 +1347,40 @@ pub mod types {
|
|||
#[derive(Copy)] pub enum timezone {}
|
||||
|
||||
pub type sighandler_t = size_t;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rlimit {
|
||||
pub rlim_cur: rlim_t,
|
||||
pub rlim_max: rlim_t,
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd43 {
|
||||
use types::os::common::posix01::timeval;
|
||||
use types::os::arch::c95::c_long;
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rusage {
|
||||
pub ru_utime: timeval,
|
||||
pub ru_stime: timeval,
|
||||
pub ru_maxrss: c_long,
|
||||
pub ru_ixrss: c_long,
|
||||
pub ru_idrss: c_long,
|
||||
pub ru_isrss: c_long,
|
||||
pub ru_minflt: c_long,
|
||||
pub ru_majflt: c_long,
|
||||
pub ru_nswap: c_long,
|
||||
pub ru_inblock: c_long,
|
||||
pub ru_oublock: c_long,
|
||||
pub ru_msgsnd: c_long,
|
||||
pub ru_msgrcv: c_long,
|
||||
pub ru_nsignals: c_long,
|
||||
pub ru_nvcsw: c_long,
|
||||
pub ru_nivcsw: c_long
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd44 {
|
||||
use types::common::c95::{c_void};
|
||||
use types::os::arch::c95::{c_char, c_int, c_uint};
|
||||
|
@ -1840,6 +1979,7 @@ pub mod types {
|
|||
use types::os::arch::c99::{uintptr_t};
|
||||
|
||||
pub type pthread_t = uintptr_t;
|
||||
pub type rlim_t = u64;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)] pub struct glob_t {
|
||||
|
@ -1873,6 +2013,38 @@ pub mod types {
|
|||
#[derive(Copy)] pub enum timezone {}
|
||||
|
||||
pub type sighandler_t = size_t;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rlimit {
|
||||
pub rlim_cur: rlim_t,
|
||||
pub rlim_max: rlim_t,
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd43 {
|
||||
use types::os::common::posix01::timeval;
|
||||
use types::os::arch::c95::c_long;
|
||||
#[repr(C)]
|
||||
#[derive(Copy)]
|
||||
pub struct rusage {
|
||||
pub ru_utime: timeval,
|
||||
pub ru_stime: timeval,
|
||||
pub ru_maxrss: c_long,
|
||||
pub ru_ixrss: c_long,
|
||||
pub ru_idrss: c_long,
|
||||
pub ru_isrss: c_long,
|
||||
pub ru_minflt: c_long,
|
||||
pub ru_majflt: c_long,
|
||||
pub ru_nswap: c_long,
|
||||
pub ru_inblock: c_long,
|
||||
pub ru_oublock: c_long,
|
||||
pub ru_msgsnd: c_long,
|
||||
pub ru_msgrcv: c_long,
|
||||
pub ru_nsignals: c_long,
|
||||
pub ru_nvcsw: c_long,
|
||||
pub ru_nivcsw: c_long
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bsd44 {
|
||||
|
@ -3024,6 +3196,7 @@ pub mod consts {
|
|||
#[cfg(not(target_os = "nacl"))]
|
||||
pub mod posix01 {
|
||||
use types::os::arch::c95::{c_int, size_t};
|
||||
use types::os::common::posix01::rlim_t;
|
||||
|
||||
pub const F_DUPFD : c_int = 0;
|
||||
pub const F_GETFD : c_int = 1;
|
||||
|
@ -3102,10 +3275,36 @@ pub mod consts {
|
|||
|
||||
pub const CLOCK_REALTIME: c_int = 0;
|
||||
pub const CLOCK_MONOTONIC: c_int = 1;
|
||||
|
||||
pub const RLIMIT_CPU: c_int = 0;
|
||||
pub const RLIMIT_FSIZE: c_int = 1;
|
||||
pub const RLIMIT_DATA: c_int = 2;
|
||||
pub const RLIMIT_STACK: c_int = 3;
|
||||
pub const RLIMIT_CORE: c_int = 4;
|
||||
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 RLIMIT_LOCKS: c_int = 10;
|
||||
pub const RLIMIT_SIGPENDING: c_int = 11;
|
||||
pub const RLIMIT_MSGQUEUE: c_int = 12;
|
||||
pub const RLIMIT_NICE: c_int = 13;
|
||||
pub const RLIMIT_RTPRIO: c_int = 14;
|
||||
pub const RLIMIT_RTTIME: c_int = 15;
|
||||
pub const RLIMIT_NLIMITS: c_int = 16;
|
||||
pub const RLIM_INFINITY: rlim_t = 0xffff_ffff_ffff_ffff;
|
||||
pub const RLIM_SAVED_MAX: rlim_t = RLIM_INFINITY;
|
||||
pub const RLIM_SAVED_CUR: rlim_t = RLIM_INFINITY;
|
||||
|
||||
pub const RUSAGE_SELF: c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: c_int = -1;
|
||||
pub const RUSAGE_THREAD: c_int = 1;
|
||||
}
|
||||
#[cfg(target_os = "nacl")]
|
||||
pub mod posix01 {
|
||||
use types::os::arch::c95::{c_int, size_t};
|
||||
use types::os::common::posix01::rlim_t;
|
||||
|
||||
pub const F_DUPFD : c_int = 0;
|
||||
pub const F_GETFD : c_int = 1;
|
||||
|
@ -3170,6 +3369,32 @@ pub mod consts {
|
|||
|
||||
pub const CLOCK_REALTIME: c_int = 0;
|
||||
pub const CLOCK_MONOTONIC: c_int = 1;
|
||||
|
||||
pub const RLIMIT_CPU: c_int = 0;
|
||||
pub const RLIMIT_FSIZE: c_int = 1;
|
||||
pub const RLIMIT_DATA: c_int = 2;
|
||||
pub const RLIMIT_STACK: c_int = 3;
|
||||
pub const RLIMIT_CORE: c_int = 4;
|
||||
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 RLIMIT_LOCKS: c_int = 10;
|
||||
pub const RLIMIT_SIGPENDING: c_int = 11;
|
||||
pub const RLIMIT_MSGQUEUE: c_int = 12;
|
||||
pub const RLIMIT_NICE: c_int = 13;
|
||||
pub const RLIMIT_RTPRIO: c_int = 14;
|
||||
pub const RLIMIT_RTTIME: c_int = 15;
|
||||
pub const RLIMIT_NLIMITS: c_int = 16;
|
||||
|
||||
pub const RLIM_INFINITY: rlim_t = 0xffff_ffff_ffff_ffff;
|
||||
pub const RLIM_SAVED_MAX: rlim_t = RLIM_INFINITY;
|
||||
pub const RLIM_SAVED_CUR: rlim_t = RLIM_INFINITY;
|
||||
|
||||
pub const RUSAGE_SELF: c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: c_int = -1;
|
||||
pub const RUSAGE_THREAD: c_int = 1;
|
||||
}
|
||||
pub mod posix08 {
|
||||
}
|
||||
|
@ -3632,6 +3857,7 @@ pub mod consts {
|
|||
}
|
||||
pub mod posix01 {
|
||||
use types::os::arch::c95::{c_int, size_t};
|
||||
use types::os::common::posix01::rlim_t;
|
||||
|
||||
pub const F_DUPFD : c_int = 0;
|
||||
pub const F_GETFD : c_int = 1;
|
||||
|
@ -3707,6 +3933,29 @@ pub mod consts {
|
|||
|
||||
pub const CLOCK_REALTIME: c_int = 0;
|
||||
pub const CLOCK_MONOTONIC: c_int = 4;
|
||||
|
||||
pub const RLIMIT_CPU: c_int = 0;
|
||||
pub const RLIMIT_FSIZE: c_int = 1;
|
||||
pub const RLIMIT_DATA: c_int = 2;
|
||||
pub const RLIMIT_STACK: c_int = 3;
|
||||
pub const RLIMIT_CORE: c_int = 4;
|
||||
pub const RLIMIT_RSS: c_int = 5;
|
||||
pub const RLIMIT_MEMLOCK: c_int = 6;
|
||||
pub const RLIMIT_NPROC: c_int = 7;
|
||||
pub const RLIMIT_NOFILE: c_int = 8;
|
||||
pub const RLIMIT_SBSIZE: c_int = 9;
|
||||
pub const RLIMIT_VMEM: c_int = 10;
|
||||
pub const RLIMIT_AS: c_int = RLIMIT_VMEM;
|
||||
pub const RLIMIT_NPTS: c_int = 11;
|
||||
pub const RLIMIT_SWAP: c_int = 12;
|
||||
pub const RLIMIT_KQUEUES: c_int = 13;
|
||||
|
||||
pub const RLIM_NLIMITS: rlim_t = 14;
|
||||
pub const RLIM_INFINITY: rlim_t = 0x7fff_ffff_ffff_ffff;
|
||||
|
||||
pub const RUSAGE_SELF: c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: c_int = -1;
|
||||
pub const RUSAGE_THREAD: c_int = 1;
|
||||
}
|
||||
pub mod posix08 {
|
||||
}
|
||||
|
@ -4032,6 +4281,7 @@ pub mod consts {
|
|||
}
|
||||
pub mod posix01 {
|
||||
use types::os::arch::c95::{c_int, size_t};
|
||||
use types::os::common::posix01::rlim_t;
|
||||
|
||||
pub const F_DUPFD : c_int = 0;
|
||||
pub const F_GETFD : c_int = 1;
|
||||
|
@ -4101,6 +4351,25 @@ pub mod consts {
|
|||
|
||||
pub const CLOCK_REALTIME : c_int = 0;
|
||||
pub const CLOCK_MONOTONIC : c_int = 3;
|
||||
|
||||
pub const RLIMIT_CPU: c_int = 0;
|
||||
pub const RLIMIT_FSIZE: c_int = 1;
|
||||
pub const RLIMIT_DATA: c_int = 2;
|
||||
pub const RLIMIT_STACK: c_int = 3;
|
||||
pub const RLIMIT_CORE: c_int = 4;
|
||||
pub const RLIMIT_RSS: c_int = 5;
|
||||
pub const RLIMIT_MEMLOCK: c_int = 6;
|
||||
pub const RLIMIT_NPROC: c_int = 7;
|
||||
pub const RLIMIT_NOFILE: c_int = 8;
|
||||
pub const RLIM_NLIMITS: c_int = 9;
|
||||
|
||||
pub const RLIM_INFINITY: rlim_t = 0x7fff_ffff_ffff_ffff;
|
||||
pub const RLIM_SAVED_MAX: rlim_t = RLIM_INFINITY;
|
||||
pub const RLIM_SAVED_CUR: rlim_t = RLIM_INFINITY;
|
||||
|
||||
pub const RUSAGE_SELF: c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: c_int = -1;
|
||||
pub const RUSAGE_THREAD: c_int = 1;
|
||||
}
|
||||
pub mod posix08 {
|
||||
}
|
||||
|
@ -4428,6 +4697,7 @@ pub mod consts {
|
|||
}
|
||||
pub mod posix01 {
|
||||
use types::os::arch::c95::{c_int, size_t};
|
||||
use types::os::common::posix01::rlim_t;
|
||||
|
||||
pub const F_DUPFD : c_int = 0;
|
||||
pub const F_GETFD : c_int = 1;
|
||||
|
@ -4488,6 +4758,24 @@ pub mod consts {
|
|||
pub const PTHREAD_CREATE_JOINABLE: c_int = 1;
|
||||
pub const PTHREAD_CREATE_DETACHED: c_int = 2;
|
||||
pub const PTHREAD_STACK_MIN: size_t = 8192;
|
||||
|
||||
pub const RLIMIT_CPU: c_int = 0;
|
||||
pub const RLIMIT_FSIZE: c_int = 1;
|
||||
pub const RLIMIT_DATA: c_int = 2;
|
||||
pub const RLIMIT_STACK: c_int = 3;
|
||||
pub const RLIMIT_CORE: c_int = 4;
|
||||
pub const RLIMIT_AS: c_int = 5;
|
||||
pub const RLIMIT_MEMLOCK: c_int = 6;
|
||||
pub const RLIMIT_NPROC: c_int = 7;
|
||||
pub const RLIMIT_NOFILE: c_int = 8;
|
||||
pub const RLIM_NLIMITS: c_int = 9;
|
||||
pub const _RLIMIT_POSIX_FLAG: c_int = 0x1000;
|
||||
|
||||
pub const RLIM_INFINITY: rlim_t = 0xffff_ffff_ffff_ffff;
|
||||
|
||||
pub const RUSAGE_SELF: c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: c_int = -1;
|
||||
pub const RUSAGE_THREAD: c_int = 1;
|
||||
}
|
||||
pub mod posix08 {
|
||||
}
|
||||
|
@ -5348,6 +5636,18 @@ pub mod funcs {
|
|||
-> c_int;
|
||||
}
|
||||
}
|
||||
|
||||
pub mod resource {
|
||||
use types::os::arch::c95::c_int;
|
||||
use types::os::common::posix01::rlimit;
|
||||
use types::os::common::bsd43::rusage;
|
||||
extern {
|
||||
pub fn getrlimit(resource: c_int, rlim: *mut rlimit) -> c_int;
|
||||
pub fn setrlimit(resource: c_int, rlim: *const rlimit) -> c_int;
|
||||
pub fn getrusage(resource: c_int, usage: *mut rusage) -> c_int;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue