AUDIT_ENCODE_VALUE(3) Linux Audit API AUDIT_ENCODE_VALUE(3)

audit_encode_value - encode bytes as an ASCII hexadecimal string

#include <libaudit.h>
char *audit_encode_value(char *final, const char *buf, unsigned int size);

audit_encode_value() encodes size bytes from buf as an uppercase ASCII hexadecimal string. Each input byte is written as two hexadecimal digits. The input does not have to be NUL-terminated and may contain embedded NUL bytes.

final is the caller-provided output buffer. It must be at least 2 * size + 1 bytes long to hold the encoded value and its terminating NUL byte. size is the number of bytes to encode from buf, not necessarily the result of strlen(3).

If buf is NULL, audit_encode_value() writes an empty string to final.

e.g.: "foo bar" is encoded as "666F6F20626172". "\1\2\3\4" is encoded as "01020304".

Returns final on success. If final is NULL, NULL is returned.

audit_encode_nv_string(3), audit_value_needs_encoding(3).

Steve Grubb

May 2026 Red Hat