155 #define probe_item_getent(item, name, n) probe_obj_getent (item, name, n)
279 int probe_cobj_add_msg(
SEXP_t *cobj,
const SEXP_t *msg);
282 int probe_cobj_add_item(
SEXP_t *cobj,
const SEXP_t *item);
448 #define PROBE_EINVAL 1
449 #define PROBE_ENOELM 2
450 #define PROBE_ENOVAL 3
451 #define PROBE_ENOATTR 4
452 #define PROBE_EINIT 5
453 #define PROBE_ENOMEM 6
454 #define PROBE_EOPNOTSUPP 7
455 #define PROBE_ERANGE 8
457 #define PROBE_EFAULT 10
458 #define PROBE_EACCESS 11
459 #define PROBE_ESETEVAL 12
460 #define PROBE_ENOENT 13
461 #define PROBE_ENOOBJ 14
462 #define PROBE_ECONNABORTED 15
463 #define PROBE_ESYSTEM 253
464 #define PROBE_EFATAL 254
465 #define PROBE_EUNKNOWN 255
467 #define PROBECMD_STE_FETCH 1
468 #define PROBECMD_OBJ_EVAL 2
469 #define PROBECMD_RESET 3
471 void *probe_init(void) __attribute__ ((unused));
476 int probe_main(probe_ctx *,
void *)
__attribute__ ((nonnull(1)));
478 bool probe_item_filtered(const
SEXP_t *item, const
SEXP_t *filters);
513 #define PROBE_ENT_AREF(ent, dst, attr_name, invalid_exp) \
515 if (((dst) = probe_ent_getattrval(ent, attr_name)) == NULL) { \
516 dE("Attribute `%s' is missing!\n", attr_name); \
521 #define PROBE_ENT_STRVAL(ent, dst, dstlen, invalid_exp, zerolen_exp) \
525 if ((___r = probe_ent_getval(ent)) == NULL) { \
526 dW("Entity has no value!\n"); \
529 if (!SEXP_stringp(___r)) { \
530 dE("Invalid type\n"); \
534 else if (SEXP_string_length(___r) == 0) { \
538 SEXP_string_cstr_r(___r, dst, dstlen); \
544 #define PROBE_ENT_I32VAL(ent, dst, invalid_exp, nil_exp) \
548 if ((___r = probe_ent_getval(ent)) == NULL) { \
549 dW("Entity has no value!\n"); \
552 if (!SEXP_numberp(___r)) { \
553 dE("Invalid type\n"); \
557 dst = SEXP_number_geti_32(___r); \
570 SEXP_t *probe_ent_from_cstr(
const char *name,
oval_datatype_t type,
const char *value,
size_t vallen);
572 oval_version_t probe_obj_get_schema_version(
const SEXP_t *obj);