au_to_data3
Routines for generating bsm audit tokens
Part of au_token(3).
Usage
#include <bsm/libbsm.h>
token_t *
au_to_arg32(char n, const char *text, u_int32_t v);
token_t *
au_to_arg64(char n, const char *text, u_int64_t v);
token_t *
au_to_arg(char n, const char *text, u_int32_t v);
token_t *
au_to_attr32(struct vattr *attr);
token_t *
au_to_attr64(struct vattr *attr);
token_t *
au_to_attr(struct vattr *attr);
token_t *
au_to_data(char unit_print, char unit_type, char unit_count, const char *p);
token_t *
au_to_exit(int retval, int err);
token_t *
au_to_groups(int *groups);
token_t *
au_to_newgroups(u_int16_t n, gid_t *groups);
token_t *
au_to_in_addr(struct in_addr *internet_addr);
token_t *
au_to_in_addr_ex(struct in6_addr *internet_addr);
token_t *
au_to_ip(struct ip *ip);
token_t *
au_to_ipc(char type, int id);
token_t *
au_to_ipc_perm(struct ipc_perm *perm);
token_t *
au_to_iport(u_int16_t iport);
token_t *
au_to_opaque(const char *data, u_int16_t bytes);
token_t *
au_to_file(const char *file, struct timeval tm);
token_t *
au_to_text(const char *text);
token_t *
au_to_path(const char *text);
token_t *
au_to_process32(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);
token_t *
au_to_process64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);
token_t *
au_to_process32_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);
token_t *
au_to_process64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);
token_t *
au_to_return32(char status, u_int32_t ret);
token_t *
au_to_return64(char status, u_int64_t ret);
token_t *
au_to_return(char status, u_int32_t ret);
token_t *
au_to_seq(long audit_count);
token_t *
au_to_sock_inet32(struct sockaddr_in *so);
token_t *
au_to_sock_inet128(struct sockaddr_in6 *so);
token_t *
au_to_sock_int(struct sockaddr_in *so);
token_t *
au_to_socket_ex(u_short so_domain, u_short so_type, struct sockaddr *sa_local, struct sockaddr *sa_remote);
token_t *
au_to_subject32(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);
token_t *
au_to_subject64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);
token_t *
au_to_subject(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);
token_t *
au_to_subject32_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);
token_t *
au_to_subject64_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);
token_t *
au_to_subject_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);
token_t *
au_to_me(void);
token_t *
au_to_exec_args(char **argv);
token_t *
au_to_exec_env(char **envp);
token_t *
au_to_header(int rec_size, au_event_t e_type, au_emod_t emod);
token_t *
au_to_header32(int rec_size, au_event_t e_type, au_emod_t emod);
token_t *
au_to_header64(int rec_size, au_event_t e_type, au_emod_t e_mod);
token_t *
au_to_header_ex(int rec_size, au_event_t e_type, au_emod_t e_mod);
token_t *
au_to_header32_ex(int rec_size, au_event_t e_type, au_emod_t e_mod);
token_t *
au_to_trailer(int rec_size);
token_t *
au_to_zonename(const char *zonename);
Library
library “libbsm”
Overview
These interfaces support the allocation of BSM audit tokens, represented by token_t, for various data types.
au_errno_to_bsm(3) must be used to convert local errno(2) errors to BSM error numbers before they are passed to au_to_return(), au_to_return32(), and au_to_return64().
Return values
On success, a pointer to a token_t will be returned; the allocated token_t can be freed via a call to au_free_token(3). On failure, NULL will be returned, and an error condition returned via errno.
Releases
47 releases since FreeBSD 6.2-RELEASE; the text changed 4 times.