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] :buffertrop petit pour la liste complète. - [
Errno::EFAULT] :bufferinvalide (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);