PreviousNext

Event-Specific Information

The Audit APIs allow applications to include event-specific information in audit records. Event-specific information must be represented as information items using the following data type.

typedef struct {
unsigned16 format;
union {
idl_small_int small_int;
idl_short_int short_int;
idl_long_int long_int;
idl_hyper_int hyper_int;
idl_usmall_int usmall_int;
idl_ushort_int ushort_int;
idl_ulong_int ulong_int;
idl_uhyper_int uhyper_int;
idl_short_float short_float;
idl_long_float long_float;
idl_boolean boolean;
uuid_t uuid;
utc_t utc;
sec_acl_t * acl;
idl_byte * byte_string;
idl_char * char_string;
} data;
} dce_aud_ev_info_t;

The format field of the above data structure defines formatting information that is used to determine the type of the data referenced by the data field. The following table shows possible values of the format field, their corresponding data types, and their sizes.

Event Data Format Specifiers - intro(3sec)
Specifier Data Type Size
aud_c_evt_info_small_int idl_small_int 1 byte
aud_c_evt_info_short_int idl_short_int 2 bytes
aud_c_evt_info_long_int idl_long_int 4 bytes
aud_c_evt_info_hyper_int idl_hyper_int 8 bytes
aud_c_evt_info_usmall_int idl_usmall_int 1 bytes
aud_c_evt_info_ushort_int idl_ushort_int 2 bytes
aud_c_evt_info_ulong_int idl_ulong_int 4 bytes
aud_c_evt_info_uhyper_int idl_uhyper_int 8 bytes
aud_c_evt_info_short_float idl_short_float 4 bytes
aud_c_evt_info_long_float idl_long_float 8 bytes
aud_c_evt_info_boolean idl_boolean 1 byte
aud_c_evt_info_uuid uuid_t 16 bytes
aud_c_evt_info_utc utc_t 16 bytes
aud_c_evt_info_acl sec_acl_t * variable size
aud_c_evt_info_byte_string idl_byte * variable size
aud_c_evt_info_char_string idl_char * variable size
Byte strings and character strings are terminated with a 0 (zero) byte. New data types can be added to this list if they are used frequently. Servers could use the pickling service of the IDL compiler to encode complex data types into byte strings that are to be included in an audit record.