sub-rotina getppriv

Propósito

Obtém um conjunto de privilégios associado a um processo.

Biblioteca

Biblioteca de Segurança (libc.a).

Sintaxe

#include <sys/types.h>
#include <sys/priv.h>
int getppriv(pid, which, privset, privsize)
pid_t pid;
int which;
privg_t *privset;
int privsize;

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 .