auditwrite(3) ルーチンは、独自の監査イベントを生成し、ログを作成します。
int auditwrite(..., AW_END);
このライブラリルーチンでは、次に示す 3 種類の引数を組み合わせて使用できます。引数コマンドとそれらの意味の一覧は、auditwrite(3) のマニュアルページを参照してください。この章のコード例は、これらの引数コマンドを数多く使用しています。
制御コマンド - auditwrite(3) ルーチンの動作を制御します。たとえば、auditwrite(3) ルーチンに、部分的に構築された監査レコードに情報の追加を指示する AW_APPEND や、完成した監査レコードを監査トレールに出力するように指示する AW_WRITE があります。パラメータリストは、制御コマンドを 1 つ含まなければなりません。
トークンコマンド - 通常、制御コマンドが AW_WRITE または AW_APPEND である場合に指定されます。トークンコマンドは、監査レコードを構成する属性を描写します。属性には、たとえば、発生したイベント (AW_EVENT)、テキストメッセージ (AW_TEXT)、イベントが発生したファイルシステムオブジェクトのパス名 (AW_PATH) などがあります。属性コマンドの後には、必ず、属性パラメータに示された種類の値を指定する 1 つ以上の「値」パラメータが続きます。制御コマンドと属性コマンドは、パラメータリスト内で順不同で指定できます。
ターミネータコマンド - パラメータリストの最後には、必ず AW_END が置かれます。これは、構文解析を停止するように auditwrite(3) ルーチンに指示するためです。