diff --git a/src/header/sys_un/mod.rs b/src/header/sys_un/mod.rs index 2a5ab35a3f..d7efa0dcae 100644 --- a/src/header/sys_un/mod.rs +++ b/src/header/sys_un/mod.rs @@ -5,9 +5,14 @@ use crate::{header::bits_safamily_t::sa_family_t, platform::types::c_char}; /// See . +/// +/// # Implementation +/// Size of `sun_path` is `108` bytes. #[repr(C)] pub struct sockaddr_un { + /// Address family. pub sun_family: sa_family_t, + /// Socket pathname storage. pub sun_path: [c_char; 108], } diff --git a/src/header/sys_utsname/mod.rs b/src/header/sys_utsname/mod.rs index 49653883e1..bda8ea1a43 100644 --- a/src/header/sys_utsname/mod.rs +++ b/src/header/sys_utsname/mod.rs @@ -11,24 +11,39 @@ use crate::{ }, }; +/// Non-POSIX. +/// +/// Length of each character array in `utsname`. pub const UTSLENGTH: usize = 65; /// See . #[repr(C)] #[derive(Clone, Debug, OutProject)] pub struct utsname { + /// Name of this implementation of the operating system. pub sysname: [c_char; UTSLENGTH], + /// Name of this node within the communications network to which this node + /// is attached, if any. pub nodename: [c_char; UTSLENGTH], + /// Current release level of this implementation. pub release: [c_char; UTSLENGTH], + /// Current version level of this release. pub version: [c_char; UTSLENGTH], + /// Name of the hardware type on which this system is running. pub machine: [c_char; UTSLENGTH], + /// Non-POSIX. pub domainname: [c_char; UTSLENGTH], } /// See . +/// +/// Stores information identifying the current system in the structure pointed +/// to by `name`. +/// +/// Returns a non-negative value upon success, `-1` upon failure. #[unsafe(no_mangle)] -pub unsafe extern "C" fn uname(uts: *mut utsname) -> c_int { - Sys::uname(unsafe { Out::nonnull(uts) }) +pub unsafe extern "C" fn uname(name: *mut utsname) -> c_int { + Sys::uname(unsafe { Out::nonnull(name) }) .map(|()| 0) .or_minus_one_errno() }