Most of the operations that need to be done in a probe, processing input object, manipulating entities, creating output items. More...
Files | |
| file | probe-api.h |
Defines | |
| #define | probe_item_creat(name, attrs,...) probe_obj_creat (name, attrs, __VA_ARGS__) |
| Create a new item consisting of a name, optional attributes argument and an arbitrary number of entities. | |
| #define | probe_item_getent(item, name, n) probe_obj_getent (item, name, n) |
| #define | PROBE_EINVAL 1 |
| #define | PROBE_ENOELM 2 |
| #define | PROBE_ENOVAL 3 |
| #define | PROBE_ENOATTR 4 |
| #define | PROBE_EINIT 5 |
| #define | PROBE_ENOMEM 6 |
| #define | PROBE_EOPNOTSUPP 7 |
| #define | PROBE_ERANGE 8 |
| #define | PROBE_EDOM 9 |
| #define | PROBE_EFAULT 10 |
| #define | PROBE_EACCES 11 |
| #define | PROBE_ESETEVAL 12 |
| #define | PROBE_ENOENT 13 |
| #define | PROBE_EFATAL 254 |
| #define | PROBE_EUNKNOWN 255 |
| #define | OVAL_STATUS_UNKNOWN SYSCHAR_STATUS_UNKNOWN |
| #define | OVAL_STATUS_ERROR SYSCHAR_STATUS_ERROR |
| #define | OVAL_STATUS_EXISTS SYSCHAR_STATUS_EXISTS |
| #define | OVAL_STATUS_DOESNOTEXIST SYSCHAR_STATUS_DOES_NOT_EXIST |
| #define | OVAL_STATUS_NOTCOLLECTED SYSCHAR_STATUS_NOT_COLLECTED |
| #define | PROBECMD_STE_FETCH 1 |
| #define | PROBECMD_OBJ_EVAL 2 |
Functions | |
| SEXP_t * | probe_item_build (const char *fmt,...) |
| Build a new item according to the scpecified format. | |
| SEXP_t * | probe_item_new (const char *name, SEXP_t *attrs) |
| Create a new item with just a name and optional attributes argument. | |
| SEXP_t * | probe_item_attr_add (SEXP_t *item, const char *name, SEXP_t *val) |
| Add a new attribute to an item. | |
| SEXP_t * | probe_item_ent_add (SEXP_t *item, const char *name, SEXP_t *attrs, SEXP_t *val) |
| Add a new entity to an item. | |
| int | probe_item_setstatus (SEXP_t *obj, oval_syschar_status_t status) |
| Set item's status. | |
| int | probe_itement_setstatus (SEXP_t *obj, const char *name, uint32_t n, oval_syschar_status_t status) |
| Set status of an item's entity. | |
| SEXP_t * | probe_item_newid (struct id_desc_t *id_desc) |
| Get a new unique id (within a probe) for an item. | |
| void | probe_item_resetid (struct id_desc_t *id_desc) |
| Reset the item id generator. | |
| SEXP_t * | probe_attr_creat (const char *name, const SEXP_t *val,...) |
| Create a new list of attributes. | |
| SEXP_t * | probe_obj_build (const char *fmt,...) |
| Build a new object according to the scpecified format. | |
| SEXP_t * | probe_obj_creat (const char *name, SEXP_t *attrs,...) |
| Create a new object consisting of a name, optional attributes argument and an arbitrary number of entities. | |
| SEXP_t * | probe_obj_new (const char *name, SEXP_t *attrs) |
| Create a new object with just a name and optional attributes argument. | |
| SEXP_t * | probe_obj_getent (const SEXP_t *obj, const char *name, uint32_t n) |
| Get an entity from an object. | |
| SEXP_t * | probe_obj_getentval (const SEXP_t *obj, const char *name, uint32_t n) |
| Get the value of an object's entity. | |
| int | probe_obj_getentvals (const SEXP_t *obj, const char *name, uint32_t n, SEXP_t **res) |
| Get the list of values of an object's entity. | |
| SEXP_t * | probe_obj_getattrval (const SEXP_t *obj, const char *name) |
| Get the value of an object's attribute. | |
| bool | probe_obj_attrexists (const SEXP_t *obj, const char *name) |
| Check whether the specified attribute exists. | |
| int | probe_obj_setstatus (SEXP_t *obj, oval_syschar_status_t status) |
| Set objects's status. | |
| int | probe_objent_setstatus (SEXP_t *obj, const char *name, uint32_t n, oval_syschar_status_t status) |
| Set status of an object's entity. | |
| char * | probe_obj_getname (const SEXP_t *obj) |
| Get the name of an object. | |
| size_t | probe_obj_getname_r (const SEXP_t *obj, char *buffer, size_t buflen) |
| Get the name of an object. | |
| SEXP_t * | _probe_cobj_new (oval_syschar_collection_flag_t flag, const SEXP_t *item_list) |
| SEXP_t * | _probe_cobj_get_items (const SEXP_t *cobj) |
| oval_syschar_collection_flag_t | _probe_cobj_get_flag (const SEXP_t *cobj) |
| oval_syschar_collection_flag_t | _probe_cobj_combine_flags (oval_syschar_collection_flag_t f1, oval_syschar_collection_flag_t f2, oval_setobject_operation_t op) |
| SEXP_t * | probe_ent_creat (const char *name, SEXP_t *attrs, SEXP_t *val,...) |
| Create a new list of entities. | |
| SEXP_t * | probe_ent_creat1 (const char *name, SEXP_t *attrs, SEXP_t *val) |
| Create a new entity. | |
| SEXP_t * | probe_ent_attr_add (SEXP_t *ent, const char *name, SEXP_t *val) |
| Add a new attribute to an entity. | |
| SEXP_t * | probe_ent_getval (const SEXP_t *ent) |
| Get the value of an entity. | |
| int | probe_ent_getvals (const SEXP_t *ent, SEXP_t **res) |
| Get the list of values of an entity. | |
| SEXP_t * | probe_ent_getattrval (const SEXP_t *ent, const char *name) |
| Get the value of an entity's attribute. | |
| bool | probe_ent_attrexists (const SEXP_t *ent, const char *name) |
| Check whether the specified attribute exists. | |
| int | probe_ent_setdatatype (SEXP_t *ent, oval_datatype_t type) |
| Set the OVAL data type of an entity. | |
| oval_datatype_t | probe_ent_getdatatype (const SEXP_t *ent) |
| Get the OVAL data type of an entity. | |
| int | probe_ent_setmask (SEXP_t *ent, bool mask) |
| Set entity's mask. | |
| bool | probe_ent_getmask (const SEXP_t *ent) |
| Get entity's mask. | |
| int | probe_ent_setstatus (SEXP_t *ent, oval_syschar_status_t status) |
| Set entity's status. | |
| oval_syschar_status_t | probe_ent_getstatus (const SEXP_t *ent) |
| Get entity status. | |
| char * | probe_ent_getname (const SEXP_t *ent) |
| Get the name of an entity. | |
| size_t | probe_ent_getname_r (const SEXP_t *ent, char *buffer, size_t buflen) |
| Get the name of an entity. | |
| void | probe_free (SEXP_t *obj) |
| Free the memory allocated by the probe_* functions. | |
| void * | probe_init (void) __attribute__((unused)) |
| void | probe_fini (void *) __attribute__((unused)) |
| SEXP_t * | probe_main (SEXP_t *, int *, void *) __attribute__((nonnull(1 |
Most of the operations that need to be done in a probe, processing input object, manipulating entities, creating output items.
| #define probe_item_creat | ( | name, | |||
| attrs, | |||||
| ... | ) | probe_obj_creat (name, attrs, __VA_ARGS__) |
Create a new item consisting of a name, optional attributes argument and an arbitrary number of entities.
Every entity is a triple: const char *name - name of the new entity SEXP_t attrs - optional list of entity attributes in a sexp, can be NULL SEXP_t val - value of the new entity in a sexp This function increments its SEXP_t arguments' reference count.
| name | mandatory name argument | |
| attrs | optional item's attributes argument | |
| ... | arbitrary number of entity arguments |
Create a new list of attributes.
This function increments its val argument's reference count.
| name | the name of the attribute | |
| val | the value of the attribute | |
| ... | there can be an arbitrary number of name - value pairs |
Add a new attribute to an entity.
This function increments its val argument's reference count.
| ent | the entity to be modified | |
| name | name of the new attribute | |
| val | value of the new attribute |
| bool probe_ent_attrexists | ( | const SEXP_t * | ent, | |
| const char * | name | |||
| ) |
Check whether the specified attribute exists.
| ent | the queried entity | |
| name | the name of the attribute |
Create a new list of entities.
This function increments its SEXP_t arguments' reference count.
| name | the name of the entity | |
| attrs | optional entity's attributes argument | |
| val | the value of the entity | |
| ... | there can be an arbitrary number of name - attributes - value triples |
Create a new entity.
This function increments its SEXP_t arguments' reference count.
| name | the name of the entity | |
| attrs | optional entity's attributes argument | |
| val | the value of the entity |
Get the value of an entity's attribute.
| ent | the queried entity | |
| name | the name of the attribute |
| oval_datatype_t probe_ent_getdatatype | ( | const SEXP_t * | ent | ) |
Get the OVAL data type of an entity.
| ent | the queried entity |
| bool probe_ent_getmask | ( | const SEXP_t * | ent | ) |
Get entity's mask.
| ent | the queried entity |
| char* probe_ent_getname | ( | const SEXP_t * | ent | ) |
Get the name of an entity.
| ent | the queried entity |
| size_t probe_ent_getname_r | ( | const SEXP_t * | ent, | |
| char * | buffer, | |||
| size_t | buflen | |||
| ) |
Get the name of an entity.
The name is stored in the provided buffer.
| ent | the queried entity | |
| buffer | the buffer to store the name in | |
| buflen | the length of the buffer |
| oval_syschar_status_t probe_ent_getstatus | ( | const SEXP_t * | ent | ) |
Get entity status.
| ent | the queried entity |
Get the value of an entity.
The function respects the var_ref attribute and returns the currently selected value.
| ent | the queried entity |
Get the list of values of an entity.
If the entity uses var_ref, there can be more than one value.
| ent | the queried entity | |
| res | the resulting value list is stored in this argument |
| int probe_ent_setdatatype | ( | SEXP_t * | ent, | |
| oval_datatype_t | type | |||
| ) |
Set the OVAL data type of an entity.
| ent | the queried entity | |
| type | the new data type |
| int probe_ent_setmask | ( | SEXP_t * | ent, | |
| bool | mask | |||
| ) |
Set entity's mask.
| ent | the queried entity the new mask |
| int probe_ent_setstatus | ( | SEXP_t * | ent, | |
| oval_syschar_status_t | status | |||
| ) |
Set entity's status.
| ent | the entity to be modified | |
| status | the new status |
| void probe_free | ( | SEXP_t * | obj | ) |
Free the memory allocated by the probe_* functions.
| obj | the object to be freed |
Add a new attribute to an item.
This function increments its val argument's reference count.
| item | the item to be modified | |
| name | name of the new attribute | |
| val | value of the new attribute |
| SEXP_t* probe_item_build | ( | const char * | fmt, | |
| ... | ||||
| ) |
Build a new item according to the scpecified format.
| fmt | the desired format |
Add a new entity to an item.
This function increments its attrs and val arguments' reference count.
| item | the item to be modified | |
| name | name of the new entity | |
| attrs | optional attributes of the new entity | |
| val | value of the new entity |
Create a new item with just a name and optional attributes argument.
| name | item's name | |
| attrs | optional attributes argument |
Get a new unique id (within a probe) for an item.
| id_desc | pointer to a structure holding the global id context |
| void probe_item_resetid | ( | struct id_desc_t * | id_desc | ) |
Reset the item id generator.
| id_desc | pointer to a structure holding the global id context |
| int probe_item_setstatus | ( | SEXP_t * | obj, | |
| oval_syschar_status_t | status | |||
| ) |
Set item's status.
| obj | the item to be modified | |
| status | the new status |
| int probe_itement_setstatus | ( | SEXP_t * | obj, | |
| const char * | name, | |||
| uint32_t | n, | |||
| oval_syschar_status_t | status | |||
| ) |
Set status of an item's entity.
| obj | the item to be modified | |
| name | the name of the entity | |
| n | select the n-th occurence of an entity with the specified name | |
| status | the new status |
| bool probe_obj_attrexists | ( | const SEXP_t * | obj, | |
| const char * | name | |||
| ) |
Check whether the specified attribute exists.
| obj | the queried object | |
| name | the name of the attribute |
| SEXP_t* probe_obj_build | ( | const char * | fmt, | |
| ... | ||||
| ) |
Build a new object according to the scpecified format.
| fmt | the desired format |
Create a new object consisting of a name, optional attributes argument and an arbitrary number of entities.
Every entity is a triple: const char *name - name of the new entity SEXP_t attrs - optional list of entity attributes in a sexp, can be NULL SEXP_t val - value of the new entity in a sexp This function increments its SEXP_t arguments' reference count.
| name | mandatory name argument | |
| attrs | optional object's attributes argument | |
| ... | arbitrary number of entity arguments |
Get the value of an object's attribute.
| obj | the queried object | |
| name | the name of the attribute |
Get an entity from an object.
| obj | the queried object | |
| name | the name of the entity | |
| n | select the n-th occurence of an entity with the specified name |
Get the value of an object's entity.
The function respects the var_ref attribute and returns the currently selected value.
| obj | the queried object | |
| name | the name of the entity | |
| n | select the n-th occurence of an entity with the specified name |
Get the list of values of an object's entity.
If the entity uses var_ref, there can be more than one value.
| obj | the queried object | |
| name | the name of the entity | |
| n | select the n-th occurence of an entity with the specified name | |
| res | the resulting value list is stored in this argument |
| char* probe_obj_getname | ( | const SEXP_t * | obj | ) |
Get the name of an object.
| obj | the queried object |
| size_t probe_obj_getname_r | ( | const SEXP_t * | obj, | |
| char * | buffer, | |||
| size_t | buflen | |||
| ) |
Get the name of an object.
The name is stored in the provided buffer.
| obj | the queried object | |
| buffer | the buffer to store the name in | |
| buflen | the length of the buffer |
Create a new object with just a name and optional attributes argument.
This function increments its SEXP_t argument's reference count.
| name | object's name | |
| attrs | optional attributes argument |
| int probe_obj_setstatus | ( | SEXP_t * | obj, | |
| oval_syschar_status_t | status | |||
| ) |
Set objects's status.
| obj | the object to be modified | |
| status | the new status |
| int probe_objent_setstatus | ( | SEXP_t * | obj, | |
| const char * | name, | |||
| uint32_t | n, | |||
| oval_syschar_status_t | status | |||
| ) |
Set status of an object's entity.
| obj | the object to be modified | |
| name | the name of the entity | |
| n | select the n-th occurence of an entity with the specified name | |
| status | the new status |
1.6.1