Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

audgen(2)

Name

audgen − generate an audit record

Syntax

audgen(event, tokenp, argv)
int event;
char *tokenp, *argv[];

Description

The audgen system call generates an audit record, which gets placed in the auditlog.

The argument event is an integer indicating the event type of the operation being audited (see audit.h ).  The value of event must be between MIN_TRUSTED_EVENT and MIN_TRUSTED_EVENT+N_TRUSTED_EVENTS. 

The argument tokenp is a null-terminated array of token types (see audit.h ), each of which represents the type of argument referenced by the corresponding *argv argument. 

The argument argv is a pointer to an array containing the actual arguments or pointers to those arguments that are to be recorded in the audit record.  A pointer to the actual argument is placed in that array when the argument is a string, array, or other variable length structure.  Arguments represented as int’s or short’s are placed directly in that array.  Each member of the array must be word-aligned.  You cannot change the values for the audit_id, uid, ruid, pid, ppid, device, IP address, or hostid (secondary tokens for these values are available). 

Return Values

Upon successful completion, audgen returns a value of 0. Otherwise, it returns a value of −1 and sets the global integer variable errno to indicate the error. 

Restrictions

The audgen call is a privileged system call. No record is generated if the specified event is not being audited for the current process.  The maximum number of arguments referenced by argv is AUD_NPARAM (8). 

Diagnostics

The audgen system call fails under the following conditions:

[EACCES] The user is not privileged for this operation. 

[EINVAL] The value supplied for the event, tokenp, or argv argument is invalid. 
 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026