70 #include "oscap_export.h" 156 #define probe_item_getent(item, name, n) probe_obj_getent (item, name, n) 280 OSCAP_API
int probe_cobj_add_msg(
SEXP_t *cobj,
const SEXP_t *msg);
281 OSCAP_API
SEXP_t *probe_cobj_get_msgs(
const SEXP_t *cobj);
282 OSCAP_API
SEXP_t *probe_cobj_get_mask(
const SEXP_t *cobj);
283 OSCAP_API
int probe_cobj_add_item(
SEXP_t *cobj,
const SEXP_t *item);
284 OSCAP_API
SEXP_t *probe_cobj_get_items(
const SEXP_t *cobj);
449 #define PROBE_EINVAL 1 450 #define PROBE_ENOELM 2 451 #define PROBE_ENOVAL 3 452 #define PROBE_ENOATTR 4 453 #define PROBE_EINIT 5 454 #define PROBE_ENOMEM 6 455 #define PROBE_EOPNOTSUPP 7 456 #define PROBE_ERANGE 8 458 #define PROBE_EFAULT 10 459 #define PROBE_EACCESS 11 460 #define PROBE_ESETEVAL 12 461 #define PROBE_ENOENT 13 462 #define PROBE_ENOOBJ 14 463 #define PROBE_ECONNABORTED 15 464 #define PROBE_ESYSTEM 253 465 #define PROBE_EFATAL 254 466 #define PROBE_EUNKNOWN 255 468 #define PROBECMD_STE_FETCH 1 469 #define PROBECMD_OBJ_EVAL 2 470 #define PROBECMD_RESET 3 473 OSCAP_API int probe_offline_mode_supported(void); 482 OSCAP_API
int probe_result_additem(
SEXP_t *result,
SEXP_t *item);
515 #define PROBE_ENT_AREF(ent, dst, attr_name, invalid_exp) \ 517 if (((dst) = probe_ent_getattrval(ent, attr_name)) == NULL) { \ 518 dE("Attribute `%s' is missing!", attr_name); \ 523 #define PROBE_ENT_STRVAL(ent, dst, dstlen, invalid_exp, zerolen_exp) \ 527 if ((___r = probe_ent_getval(ent)) == NULL) { \ 528 dW("Entity has no value!"); \ 531 if (!SEXP_stringp(___r)) { \ 532 dE("Invalid type"); \ 536 else if (SEXP_string_length(___r) == 0) { \ 540 SEXP_string_cstr_r(___r, dst, dstlen); \ 546 #define PROBE_ENT_I32VAL(ent, dst, invalid_exp, nil_exp) \ 550 if ((___r = probe_ent_getval(ent)) == NULL) { \ 551 dW("Entity has no value!"); \ 554 if (!SEXP_numberp(___r)) { \ 555 dE("Invalid type"); \ 559 dst = SEXP_number_geti_32(___r); \ 572 OSCAP_API
SEXP_t *probe_ent_from_cstr(
const char *name,
oval_datatype_t type,
const char *value,
size_t vallen);
char * probe_ent_getname(const SEXP_t *ent)
Get the name of an entity.
Definition: probe-api.c:1240
SEXP_t * probe_ent_getval(const SEXP_t *ent)
Get the value of an entity.
Definition: probe-api.c:1054
bool probe_ent_attrexists(const SEXP_t *ent, const char *name)
Check whether the specified attribute exists.
Definition: probe-api.c:1124
oval_operation_t
Operations.
Definition: oval_definitions.h:84
void probe_item_resetidctr(struct id_desc_t *id_desc)
Reset the item id generator.
Definition: probe-api.c:224
SEXP_t * probe_ent_getattrval(const SEXP_t *ent, const char *name)
Get the value of an entity's attribute.
Definition: probe-api.c:1079
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.
Definition: probe-api.c:208
SEXP_t * probe_ent_creat1(const char *name, SEXP_t *attrs, SEXP_t *val)
Create a new entity.
Definition: probe-api.c:1002
oval_subtype_t
Unknown subtypes.
Definition: oval_types.h:120
OSCAP_API 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.
size_t probe_ent_getname_r(const SEXP_t *ent, char *buffer, size_t buflen)
Get the name of an entity.
Definition: probe-api.c:1284
bool probe_obj_attrexists(const SEXP_t *obj, const char *name)
Check whether the specified attribute exists.
Definition: probe-api.c:550
SEXP_t * probe_msg_creat(oval_message_level_t level, char *message)
Create a new message that can be added to a collected object.
Definition: probe-api.c:923
oval_syschar_status_t
System characteristics status.
Definition: oval_system_characteristics.h:61
int probe_ent_setmask(SEXP_t *ent, bool mask)
Set entity's mask.
Definition: probe-api.c:1201
bool probe_ent_getmask(const SEXP_t *ent)
Get entity's mask.
Definition: probe-api.c:1207
SEXP_t * probe_item_new(const char *name, SEXP_t *attrs)
Create a new item with just a name and optional attributes argument.
Definition: probe-api.c:110
SEXP_t * probe_item_attr_add(SEXP_t *item, const char *name, SEXP_t *val)
Add a new attribute to an item.
Definition: probe-api.c:136
SEXP_t * probe_attr_creat(const char *name, const SEXP_t *val,...)
Create a new list of attributes.
Definition: probe-api.c:314
int probe_obj_setstatus(SEXP_t *obj, oval_syschar_status_t status)
Set objects's status.
Definition: probe-api.c:597
OSCAP_API void * probe_init(void) __attribute__((unused))
Dummy probe_fini function.
Definition: filemd5_probe.c:164
SEXP_t * probe_obj_new(const char *name, SEXP_t *attrs)
Create a new object with just a name and optional attributes argument.
Definition: probe-api.c:390
OSCAP_API SEXP_t * probe_item_build(const char *fmt,...)
Build a new item according to the specified format.
SEXP_t * filters
object filters (OVAL 5.8 and higher)
Definition: probe.h:82
Definition: _sexp-value.h:41
oval_datatype_t
Datatypes.
Definition: oval_definitions.h:149
OSCAP_API void probe_fini(void *) __attribute__((unused))
Dummy probe_fini function.
Definition: filemd5_probe.c:185
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.
Definition: probe-api.c:469
oval_datatype_t probe_ent_getdatatype(const SEXP_t *ent)
Get the OVAL data type of an entity.
Definition: probe-api.c:1175
OSCAP_API SEXP_t * probe_obj_build(const char *fmt,...)
Build a new object according to the specified format.
SEXP_t * probe_obj_getentval(const SEXP_t *obj, const char *name, uint32_t n)
Get the value of an object's entity.
Definition: probe-api.c:457
char * probe_obj_getname(const SEXP_t *obj)
Get the name of an object.
Definition: probe-api.c:607
SEXP_t * probe_obj_getent(const SEXP_t *obj, const char *name, uint32_t n)
Get an entity from an object.
Definition: probe-api.c:414
size_t probe_obj_getname_r(const SEXP_t *obj, char *buffer, size_t buflen)
Get the name of an object.
Definition: probe-api.c:612
SEXP_t * probe_obj_getmask(SEXP_t *obj)
Get object entity mask.
Definition: probe-api.c:1765
void probe_tfc54behaviors_canonicalize(SEXP_t **behaviors)
Set all of the missing attributes of the 'behaviors' entity to default values.
Definition: probe-api.c:1369
OSCAP_API SEXP_t * probe_item_newid(struct id_desc_t *id_desc)
Get a new unique id (within a probe) for an item.
OSCAP_API SEXP_t * probe_ctx_getresult(probe_ctx *ctx)
Return reference to the output object (aka collected object).
Definition: probe.c:36
oval_setobject_operation_t
Set operations.
Definition: oval_definitions.h:184
int probe_ent_setstatus(SEXP_t *ent, oval_syschar_status_t status)
Set entity's status.
Definition: probe-api.c:1213
SEXP_t * probe_ent_attr_add(SEXP_t *ent, const char *name, SEXP_t *val)
Add a new attribute to an entity.
Definition: probe-api.c:1030
OSCAP_API int probe_item_collect(probe_ctx *ctx, SEXP_t *item)
Collect generated item (i.e.
Definition: icache.c:534
SEXP_t * probe_item_creat(const char *name, SEXP_t *attrs,...)
Create a new item consisting of a name, optional attributes argument and an arbitrary number of entit...
Definition: probe-api.c:66
oval_syschar_collection_flag_t
System characteristics result flag.
Definition: oval_system_characteristics.h:50
int probe_item_setstatus(SEXP_t *obj, oval_syschar_status_t status)
Set item's status.
Definition: probe-api.c:196
Definition: sexp-types.h:82
Definition: oval_schema_version.h:41
SEXP_t * probe_msg_creatf(oval_message_level_t level, const char *fmt,...)
Create a new message that can be added to a collected object.
Definition: probe-api.c:937
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.
Definition: probe-api.c:185
oval_message_level_t
Message level.
Definition: oval_system_characteristics.h:70
Holds information for item ids generation.
Definition: _probe-api.h:44
Definition: probe-api.h:508
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 ent...
Definition: probe-api.c:347
OSCAP_API SEXP_t * probe_ctx_getobject(probe_ctx *ctx)
Return reference to the input object.
Definition: probe.c:31
int probe_ent_getvals(const SEXP_t *ent, SEXP_t **res)
Get the list of values of an entity.
Definition: probe-api.c:1035
int probe_ent_setdatatype(SEXP_t *ent, oval_datatype_t type)
Set the OVAL data type of an entity.
Definition: probe-api.c:1129
void probe_filebehaviors_canonicalize(SEXP_t **behaviors)
Set all of the missing attributes of the 'behaviors' entity to default values.
Definition: probe-api.c:1333
SEXP_t * probe_obj_getattrval(const SEXP_t *obj, const char *name)
Get the value of an object's attribute.
Definition: probe-api.c:504
OSCAP_API void probe_preload(void)
Dummy probe_preload function.
Definition: preload.c:38
oval_syschar_status_t probe_ent_getstatus(const SEXP_t *ent)
Get entity status.
Definition: probe-api.c:1223
void probe_free(SEXP_t *obj)
Free the memory allocated by the probe_* functions.
Definition: probe-api.c:1328
SEXP_t * probe_ent_creat(const char *name, SEXP_t *attrs, SEXP_t *val,...)
Create a new list of entities.
Definition: probe-api.c:978