Skip to main content

get_groups

Function get_groups 

Source
pub fn get_groups(buffer: &mut [Gid]) -> Result<&[Gid], Errno>
Expand description

Lit la liste courante des groupes supplémentaires (getgroups) dans le buffer fourni — zéro allocation — et retourne la sous-tranche remplie.

Vérification défensive de drop_privileges (Principe 5 : confirmer la réduction). Le buffer doit pouvoir contenir tous les groupes courants.

§Errors

  • [Errno::EINVAL] : buffer trop petit pour la liste complète.
  • [Errno::EFAULT] : buffer invalide (n’arrive pas avec une tranche Rust).

§Examples

use air_sys_syscall::process::get_groups;
use air_sys_types::Gid;
let mut buf = [Gid::from_raw(0); 64];
let groups = get_groups(&mut buf).expect("getgroups");
assert!(groups.len() <= 64);