Skip Navigation Links | |
Exit Print View | |
man pages section 2: System Calls Oracle Solaris 11 Express 11/10 |
- write a record to the audit log
cc [ flag ... ] file ... -lbsm -lsocket -lnsl [ library... ] #include <sys/param.h> #include <bsm/libbsm.h> int audit(caddr_t record, int length);
The audit() function queues a record for writing to the system audit log. The data pointed to by record is queued for the log after a minimal consistency check, with the length parameter specifying the size of the record in bytes. The data should be a well-formed audit record as described by audit.log(4).
The kernel validates the record header token type and length, and sets the time stamp value before writing the record to the audit log. The kernel does not do any preselection for user-level generated events. If the audit policy is set to include sequence or trailer tokens, the kernel will append them to the record.
Upon successful completion, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error.
The audit() function will fail if:
The record length is greater than the maximum allowed record length.
The record argument points outside the process's allocated address space.
The header token in the record is invalid.
Solaris Audit is not defined for this system.
The {PRIV_PROC_AUDIT} privilege is not asserted in the effective set of the calling process.
Only privileged processes can successfully execute this call.
See attributes(5) for descriptions of the following attributes:
|
audit(1M), auditd(1M), svcadm(1M), auditon(2), getaudit(2), audit.log(4), attributes(5), privileges(5)