From 08a01d62d859d1f07ac8bd52b7ffb3a3d87d3927 Mon Sep 17 00:00:00 2001 From: auronandace Date: Thu, 11 Jun 2026 13:27:13 +0100 Subject: [PATCH] move IOV_MAX to limits header --- src/header/limits/mod.rs | 7 +++++++ src/header/sys_uio/mod.rs | 4 +--- src/header/unistd/sysconf/linux.rs | 3 +-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/header/limits/mod.rs b/src/header/limits/mod.rs index 50054fd399..e2c50e48b0 100644 --- a/src/header/limits/mod.rs +++ b/src/header/limits/mod.rs @@ -12,6 +12,13 @@ pub const PASS_MAX: usize = 128; pub const PATH_MAX: usize = 4096; pub const NGROUPS_MAX: usize = 65536; +/// Maximum number of `iovec` structures that one process has available for +/// use with `readv()` or `writev()`. +pub const IOV_MAX: c_int = 1024; + +/// Minimum required value for `IOV_MAX`. +pub const _XOPEN_IOV_MAX: c_int = 16; + pub const CHAR_BIT: u32 = 8; pub const WORD_BIT: u32 = 32; #[cfg(target_pointer_width = "32")] diff --git a/src/header/sys_uio/mod.rs b/src/header/sys_uio/mod.rs index 250b754b79..6996f10c1e 100644 --- a/src/header/sys_uio/mod.rs +++ b/src/header/sys_uio/mod.rs @@ -5,7 +5,7 @@ use core::slice; use crate::{ - header::{errno, unistd}, + header::{errno, limits::IOV_MAX, unistd}, platform::{ self, types::{c_int, c_void, off_t, ssize_t}, @@ -14,8 +14,6 @@ use crate::{ pub use crate::header::bits_iovec::{gather, iovec, scatter}; -pub const IOV_MAX: c_int = 1024; - /// Non-POSIX, see . #[unsafe(no_mangle)] pub unsafe extern "C" fn preadv( diff --git a/src/header/unistd/sysconf/linux.rs b/src/header/unistd/sysconf/linux.rs index 1bf76586b5..8b7d8ead49 100644 --- a/src/header/unistd/sysconf/linux.rs +++ b/src/header/unistd/sysconf/linux.rs @@ -10,7 +10,6 @@ use crate::{ platform, }; -pub const _XOPEN_IOV_MAX: c_long = 16; pub const _XOPEN_NAME_MAX: c_long = 255; pub const _XOPEN_PATH_MAX: c_long = 1024; @@ -192,7 +191,7 @@ pub(super) fn sysconf_impl(name: c_int) -> c_long { _SC_2_FORT_RUN => -1, _SC_2_SW_DEV => -1, _SC_2_LOCALEDEF => -1, - _SC_IOV_MAX => _XOPEN_IOV_MAX, + _SC_IOV_MAX => _XOPEN_IOV_MAX.into(), _SC_THREADS => _POSIX_VERSION, _SC_THREAD_SAFE_FUNCTIONS => _POSIX_VERSION, _SC_GETGR_R_SIZE_MAX => -1,