NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | EXAMPLES | ATTRIBUTES | SEE ALSO
cc [flag...] file ... -lexacct [library...] #include <exacct.h>int ea_set_item(ea_object_t *obj, ea_catalog_t tag, void *value, size_tvalsize);
The ea_set_item() function assigns the given exacct object to be a data item with value set according to the remaining arguments. For buffer-based data values, no copy is taken. The ea_set_group() function assigns the given exacct object to be a record group with 0 elements.
The ea_match_object_catalog() function returns TRUE if the exacct object specified by obj has a catalog tag that matches the mask specified by catmask.
The ea_attach_to_object() function attaches an object to the given object. The ea_attach_to_group() function attaches a chain of objects as member items of the given group. Objects are inserted into the list of any previously attached objects.
The ea_free_item() function frees the value fields in the ea_object_t indicated by obj, if EUP_ALLOC is specified. The object itself is not freed. The ea_free_object() function frees the specified object and any attached hierarchy of objects. If the flag argument is set to EUP_ALLOC, ea_free_object() will also free any variable-length data in the object hierarchy; if set to EUP_NOALLOC, ea_free_object() will not free variable-length data. In particular, these flags should correspond to those specified in calls to ea_unpack_object(3EXACCT).
The ea_set_item() and ea_set_group() functions return 0 if the object was assigned successfuly. Otherwise these functions return -1 and set the extended accounting error code appropriately.
The ea_match_object_catalog() function returns 0 if the object's catalog tag does not match the given mask, and 1 if there is a match.
The ea_set_item(), ea_set_group(), and ea_match_object_catalog() functions may fail if:
A system call invoked by the function failed. The errno variable contains the error value set by the underlying call.
A memory allocation required to complete the operation failed.
The exacct file format can be used to represent data other than that in the extended accounting format. By using a unique creator type in the file header, application writers can develop their own format suited to the needs of their application.
Construct an exacct file consisting of a single object containing the current process ID.
#include <sys/types.h> >#include <unistd.h> #include <exacct.h> ... ea_file_t ef; ea_object_t obj; pid_t my_pid; my_pid = getpid(); ea_set_item(&obj, EXD_UINT32 | EXC_DEFAULT | EXT_PROC_PID, &my_pid, 0); ...
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
MT-Level | MT-Safe |
read(2), ea_error(3EXACCT), ea_open(3EXACCT), ea_pack_object(3EXACCT), libexacct(3LIB), attributes(5)
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | EXAMPLES | ATTRIBUTES | SEE ALSO