sub-rotina getdevattr
Propósito
Recupera as informações de segurança do dispositivo no banco de dados de dispositivos privilegiados.
Biblioteca
Biblioteca de Segurança (libc.a).
Sintaxe
Descrição
A subroutina getdevattr lê um atributo especificado a partir do banco de dados do dispositivo. Se o banco de dados não estiver aberto, esta subroutine faz um implícito aberto para leitura. Para atributos dos tipos SEC_CHAR e SEC_LIST , a subroutina getdevattr retorna o valor para a memória alocada. O Caller precisa liberar essa memória.
Parâmetros
| Item | Descrição |
|---|---|
| Dispositivo | Especifica o nome do dispositivo. O valor deve ser o caminho completo para o dispositivo no sistema. Este parâmetro deve ser especificado a menos que o parâmetro Type seja SEC_COMMIT. |
| Atributo | Especifica o atributo que é lido. Os seguintes atributos possíveis são definidos no arquivo usersec.h :
|
| Valor | Especifica um ponteiro ou um ponteiro para um ponteiro de acordo com a matriz Atributos e os parâmetros Tipo . Veja o parâmetro Tipo para obter mais detalhes. |
| Tipo | Especifica o tipo de atributo. Os tipos válidos a seguir são definidos no arquivo usersec.h :
|
Segurança
Arquivos acessados:
| Arquivo | Modo |
|---|---|
| /etc/security/privdevs | rw |
Valores De Retorno
Na conclusão bem-sucedida, a subroutina getdevattr retorna um valor de zero. Caso contrário, um valor de -1 é retornado e o valor global errno é definido para indicar o erro.
Códigos De Erro
Se a subroutina getdevattr falhar, um dos seguintes valores errno é definido:
| Item | Descrição |
|---|---|
| EINVAL | O parâmetro Device é NULL ou default. |
| EINVAL | O parâmetro Attribute ou Type é NULL ou não contém um dos valores definidos. |
| EINVAL | O parâmetro Attribute é S_PRIVDEVS, mas o parâmetro Device não é ALL. |
| ENOENTE | O dispositivo especificado no parâmetro Dispositivo não existe. |
| ENOATTR | O atributo especificado no parâmetro Attribute é válido, mas nenhum valor é definido para o dispositivo. |
| EPERM | A operação não é permitida. |