Interface to most of the operations that need to be done in a probe; processing input object, manipulating entities, creating output items. More...
#include <seap.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdbool.h>
#include <pthread.h>
#include <oval_definitions.h>
#include <oval_system_characteristics.h>
#include <oval_results.h>
Go to the source code of this file.
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_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_EFATAL 254 |
#define | PROBE_EUNKNOWN 255 |
#define | OVAL_STATUS_ERROR 1 |
#define | OVAL_STATUS_EXISTS 2 |
#define | OVAL_STATUS_DOESNOTEXIST 3 |
#define | OVAL_STATUS_NOTCOLLECTED 4 |
#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_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 |
Interface to most of the operations that need to be done in a probe; processing input object, manipulating entities, creating output items.