00001 #pragma once
00002 #ifndef OVAL_PROBE_H
00003 #define OVAL_PROBE_H
00004
00005 #include <stdarg.h>
00006 #include <stdint.h>
00007 #include "oval_definitions.h"
00008 #include "oval_system_characteristics.h"
00009
00010 typedef struct oval_pctx oval_pctx_t;
00011
00012 oval_pctx_t *oval_pctx_new(struct oval_syschar_model *);
00013 void oval_pctx_free(oval_pctx_t *) __attribute__ ((nonnull(1)));
00014
00015
00016
00017
00018 #define OVAL_PCTX_FLAG_NOREPLY 0x0001
00019 #define OVAL_PCTX_FLAG_NORECONN 0x0002
00020 #define OVAL_PCTX_FLAG_RUNALL 0x0004
00021 #define OVAL_PCTX_FLAG_RUNNOW 0x0008
00022
00023 #define OVAL_PCTX_FLAG_MASK (0x0001|0x0002|0x0004|0x0008)
00024
00025 int oval_pctx_setflag(oval_pctx_t *, uint32_t) __attribute__ ((nonnull(1)));
00026 int oval_pctx_unsetflag(oval_pctx_t *, uint32_t) __attribute__ ((nonnull(1)));
00027
00028
00029
00030
00031 #define OVAL_PCTX_ATTR_RETRY 0x0001
00032 #define OVAL_PCTX_ATTR_RECVTIMEOUT 0x0002
00033 #define OVAL_PCTX_ATTR_SENDTIMEOUT 0x0003
00034 #define OVAL_PCTX_ATTR_SCHEME 0x0004
00035 #define OVAL_PCTX_ATTR_DIR 0x0005
00036 #define OVAL_PCTX_ATTR_MODEL 0x0006
00037
00038 int oval_pctx_setattr(oval_pctx_t *, uint32_t, ...) __attribute__ ((nonnull(1)));
00039
00040 int oval_probe_reset(oval_pctx_t *, oval_subtype_t) __attribute__ ((nonnull(1)));
00041 int oval_probe_close(oval_pctx_t *, oval_subtype_t) __attribute__ ((nonnull(1)));
00042
00043 struct oval_sysinfo *oval_probe_sysinf_eval(struct oval_syschar_model *, oval_pctx_t *) __attribute__ ((nonnull(1)));
00044 struct oval_syschar *oval_probe_object_eval(oval_pctx_t *, struct oval_object *) __attribute__ ((nonnull(1, 2)));
00045
00046 #endif