NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | ATTRIBUTES | SEE ALSO | NOTES
cc [ flag ... ] file ... -lbsm -lsocket -lnsl -lintl [ library ... ] #include <sys/param.h> #include <bsm/audit.h>int getaudit(struct auditinfo *info);
The getaudit() function gets the audit ID, the preselection mask, the terminal ID and the audit session ID for the current process.
Note that getaudit() may fail and return an E2BIG errno if the address field in the terminal ID is larger than 32 bits. In this case, getaudit_addr() should be used.
The setaudit() function sets the audit ID, the preselection mask, the terminal ID and the audit session ID for the current process.
The getaudit_addr() function returns a variable length auditinfo_addr structure that contains the audit ID, the preselection mask, the terminal ID, and the audit session ID for the current process. The terminal ID contains a size field that indicates the size of the network address.
The setaudit_addr() function sets the audit ID, the preselection mask, the terminal ID, and the audit session ID for the current process. The values are taken from the variable length struture auditinfo_addr. The terminal ID contains a size field that indicates the size of the network address.
The auditinfo structure is used to pass the process audit information and contains the following members:
au_id_t ai_auid; /* audit user ID */ au_mask_t ai_mask; /* preselection mask */ au_tid_t ai_termid; /* terminal ID */ au_asid_t ai_asid; /* audit session ID */
The auditinfo_addr structure is used to pass the process audit information and contains the following members:
au_id_t ai_auid; /* audit user ID */ au_mask_t ai_mask; /* preselection mask */ au_tid_addr_t ai_termid; /* terminal ID */ au_asid_t ai_asid; /* audit session ID */
Upon successful completion, getaudit() and setaudit() return 0. Otherwise, -1 is returned and errno is set to indicate the error.
The getaudit() and setaudit() functions will fail if:
The info parameter points outside the process's allocated address space.
The process's effective user ID is not superuser.
Only processes with the effective user ID of the superuser can successfully execute these calls.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Stable |
MT-Level | MT-Safe |
The functionality described in this man page is available only if the Basic Security Module (BSM) has been enabled. See bsmconv(1M) for more information.
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | ATTRIBUTES | SEE ALSO | NOTES