sub-rotina getppriv
Propósito
Obtém um conjunto de privilégios associado a um processo.
Biblioteca
Biblioteca de Segurança (libc.a).
Sintaxe
Descrição
A subroutine getppriv retorna o conjunto de privilégios para o processo especificado pelo parâmetro pid . Se o valor do pid for negativo, o conjunto de privilégios do processo de chamada será recuperado. O valor do parâmetro qual é um dos valores PRIV_EFICAZ, PRIV_MAXIMUM, PRIV_HER_HERDADA ou PRIV_USADA. O conjunto de privilégios correspondente é copiado para o parâmetro privset no tamanho especificado pelo parâmetro privsize . O privilégio PV_PROC_PRIV é necessário no conjunto efetivo quando um processo deseja obter o privilégio configurado a partir de outro processo.
Parâmetros
| Item | Descrição |
|---|---|
| Pid | Indica o processo que o conjunto de privilégios é solicitado. |
| Qual | Especifica o conjunto de privilégios para obter. |
| Privset | Armazena o conjunto de privilégios. |
| Tamanho privado | Especifica o tamanho do conjunto de privilégios. |
Valores De Retorno
A subroutine getppriv retorna um dos seguintes valores:
| Item | Descrição |
|---|---|
| 0 | A subroutine completa com sucesso. |
| -1 | Ocorreu um erro. Uma variável global errno é configurada para indicar o erro. |
Códigos De Erro
A subroutine getppriv falha se algum dos valores a seguir for verdadeiro:
| Item | Descrição |
|---|---|
| EFAULT | O parâmetro privset está apontando para um endereço que não é legal. |
| EINVAL | O valor do parâmetro privset é NULL, ou o valor do parâmetro privsize não é válido. |
| EPERM | O processo não tem o privilégio (PV_PROC_PRIV ou MAC read) para obter um outro conjunto de privilégios do processo. |
| ESRCH | Nenhum processo tem um ID de processo que é igual ao valor do parâmetro Pid . |