00001 #pragma once 00002 #ifndef OVAL_PROBE_H 00003 #define OVAL_PROBE_H 00004 00005 #include <seap-types.h> 00006 #include "oval_definitions_impl.h" 00007 #include "oval_agent_api_impl.h" 00008 #include "oval_parser_impl.h" 00009 #include "oval_string_map_impl.h" 00010 #include "api/oval_system_characteristics.h" 00011 #include "config.h" 00012 00013 #define OVAL_PROBE_SCHEME "pipe://" 00014 #ifndef OVAL_PROBE_DIR 00015 # define OVAL_PROBE_DIR "/usr/libexec/openscap/oval" 00016 #endif 00017 00018 typedef struct { 00019 oval_subtype_t typenum; 00020 char *typestr; 00021 char *filename; 00022 } oval_probe_t; 00023 00024 typedef struct { 00025 oval_subtype_t typenum; 00026 int sd; 00027 } probe_sd_t; 00028 00029 typedef struct { 00030 probe_sd_t *memb; 00031 size_t count; 00032 SEAP_CTX_t *ctx; 00033 uint8_t flags; 00034 } probe_sdtbl_t; 00035 00036 #define PROBE_SDTBL_CMDDONE 0x01 00037 00038 #define PROBE_SDTBL_INITIALIZER { NULL, 0, NULL, 0 } 00039 00040 SEXP_t *oval_object_to_sexp (const char *typestr, struct oval_object *object); 00041 struct oval_syschar *sexp_to_oval_state (SEXP_t *sexp, struct oval_object *object); 00042 00043 int oval_syschar_apply_sexp(struct oval_syschar *syschar, SEXP_t *sexp, struct oval_object *object); 00044 00045 #endif /* OVAL_PROBE_H */