Linux x86_64Usuários & permissões#115
getgroups
Consulta a lista de grupos suplementares do processo chamador.
Descrição
Complementa o GID efetivo: acesso a arquivos também considera todos os grupos suplementares aos quais o processo pertence.
Header:
unistd.hman 2Assinatura
int getgroups(int size, gid_t[] list);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| size | int | Capacidade do array `list` (número de elementos); 0 para apenas consultar a contagem. |
| list | gid_t[] | Recebe a lista de GIDs suplementares. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | sizeint |
| rsi | argumento 2 | listgid_t[] |
Valor de retorno
Número de GIDs retornados (ou o total, se size for 0) em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EFAULT(14)
- Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
- EINVAL(22)
- Argumento inválido.