Skip to main content

statx

Function statx 

Source
pub fn statx(
    dirfd: DirFd<'_>,
    path: &CStr,
    flags: StatxFlags,
    mask: StatxMask,
) -> Result<StatxResult, Errno>
Expand description

Lit les métadonnées d’un fichier (API unifiée et moderne).

Wrappeur de statx(2) (Linux 4.11+, numéro x86_64: 332, aarch64: 291). Remplace tous les anciens stat/fstat/lstat/fstatat — seul wrapper de métadonnées exposé par Air.

Le paramètre mask sélectionne les champs souhaités ; StatxResult::mask en sortie indique les champs effectivement disponibles (sous-ensemble possible si le FS ne les supporte pas).

§Parameters

  • dirfd : base de résolution.
  • path : chemin (peut être vide avec StatxFlags::EMPTY_PATH pour opérer directement sur le FD).
  • flags : comportement de résolution.
  • mask : champs à récupérer.

§Errors

  • ENOENT : chemin inexistant.
  • EACCES : permissions insuffisantes.
  • ENOSYS : kernel < 4.11.

§Examples

use air_sys_syscall::fs::statx;
use air_sys_types::fs::{DirFd, StatxFlags, StatxMask};

let result = statx(
    DirFd::Cwd,
    c"./config.toml",
    StatxFlags::empty(),
    StatxMask::SIZE | StatxMask::MTIME,
).expect("statx");
if result.mask.contains(StatxMask::SIZE) {
    println!("size: {}", result.size);
}