auditwrite 子例程

用途

写入审计记录。

安全性库 (libc.a)

语法

#include <sys/audit.h>
#include <stdio.h>
int auditwrite (EventResultBuffer1Length1Buffer2Length2, ...)
char * Event;
int  Result;
char * Buffer1, *Buffer2 ...;
int  Length1Length2 ...;

描述

auditwrite 子例程构建审计记录的尾部,然后使用 auditlog 子例程将其写入。 通过收集指定的缓冲区来构建尾部。 最后一个缓冲区指针必须为空。

如果要从从 initab 文件调用的程序调用 auditwrite 子例程,那么应该首先调用 setpcred 子例程以建立进程的凭证。

参数

描述
事件 指定要记录的事件的名称。
结果 指定事件的审计状态。 有效值在 sys/audit.h 文件中定义,并在 auditlog 子例程中列出。
Buffer1, Buffer2 指定包含审计尾部信息的字符缓冲区。 请注意,必须通过引用传递数字值。 可以使用 sizeof C 函数来计算正确的大小。
Length1, Length2 指定相应缓冲区的长度。

返回值

如果 auditwrite 子例程成功完成,那么将返回值 0。 否则,返回值为-1,并设置errno全局变量来指示错误。

错误代码

如果以下情况成立,那么 auditwrite 子例程将失败:

描述
ENOSPC auditwrite 子例程无法为尾部缓冲区分配空间。

其他错误代码由 auditlog 子例程返回。