Skip to content

Commit

Permalink
Add NetBSD configuration for supported process resources
Browse files Browse the repository at this point in the history
  • Loading branch information
schctl committed Dec 24, 2021
1 parent 6c6c576 commit a0e2f19
Showing 1 changed file with 26 additions and 10 deletions.
36 changes: 26 additions & 10 deletions src/sys/resource.rs
Expand Up @@ -24,12 +24,15 @@ cfg_if! {
}

libc_enum! {
/// Types of process resources.
///
/// The Resource enum is platform dependent. Check different platform
/// manuals for more details. Some platform links has been provided for
/// earier reference (non-exhaustive).
/// manuals for more details. Some platform links have been provided for
/// easier reference (non-exhaustive).
///
/// * [Linux](https://man7.org/linux/man-pages/man2/getrlimit.2.html)
/// * [FreeBSD](https://www.freebsd.org/cgi/man.cgi?query=setrlimit)
/// * [NetBSD](https://man.netbsd.org/setrlimit.2)

// linux-gnu uses u_int as resource enum, which is implemented in libc as
// well.
Expand All @@ -49,11 +52,7 @@ libc_enum! {
), repr(i32))]
#[non_exhaustive]
pub enum Resource {
#[cfg(not(any(
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd"
)))]
#[cfg(not(any(target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")))]
#[cfg_attr(docsrs, doc(cfg(all())))]
/// The maximum amount (in bytes) of virtual memory the process is
/// allowed to map.
Expand Down Expand Up @@ -83,7 +82,13 @@ libc_enum! {
/// this process may establish.
RLIMIT_LOCKS,

#[cfg(any(target_os = "android", target_os = "freebsd", target_os = "openbsd", target_os = "linux"))]
#[cfg(any(
target_os = "android",
target_os = "freebsd",
target_os = "openbsd",
target_os = "linux",
target_os = "netbsd"
))]
#[cfg_attr(docsrs, doc(cfg(all())))]
/// The maximum size (in bytes) which a process may lock into memory
/// using the mlock(2) system call.
Expand All @@ -101,7 +106,13 @@ libc_enum! {
/// setpriority or nice.
RLIMIT_NICE,

#[cfg(any(target_os = "android", target_os = "freebsd", target_os = "openbsd", target_os = "linux"))]
#[cfg(any(
target_os = "android",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "linux",
))]
#[cfg_attr(docsrs, doc(cfg(all())))]
/// The maximum number of simultaneous processes for this user id.
RLIMIT_NPROC,
Expand All @@ -112,7 +123,12 @@ libc_enum! {
/// create.
RLIMIT_NPTS,

#[cfg(any(target_os = "android", target_os = "freebsd", target_os = "openbsd", target_os = "linux"))]
#[cfg(any(target_os = "android",
target_os = "freebsd",
target_os = "netbsd",
target_os = "openbsd",
target_os = "linux",
))]
#[cfg_attr(docsrs, doc(cfg(all())))]
/// When there is memory pressure and swap is available, prioritize
/// eviction of a process' resident pages beyond this amount (in bytes).
Expand Down

0 comments on commit a0e2f19

Please sign in to comment.