00001
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef OVAL_AGENT_API_IMPL_H_
00031 #define OVAL_AGENT_API_IMPL_H_
00032
00033 #include "public/oval_agent_api.h"
00034 #include "oval_definitions_impl.h"
00035 #include "../common/util.h"
00036
00037 OSCAP_HIDDEN_START;
00038
00039
00040 #define OVAL_COMMON_NAMESPACE BAD_CAST "http://oval.mitre.org/XMLSchema/oval-common-5"
00041 #define OVAL_SYSCHAR_NAMESPACE BAD_CAST "http://oval.mitre.org/XMLSchema/oval-system-characteristics-5"
00042 #define OVAL_RESULTS_NAMESPACE BAD_CAST "http://oval.mitre.org/XMLSchema/oval-results-5"
00043 #define OVAL_DEFINITIONS_NAMESPACE BAD_CAST "http://oval.mitre.org/XMLSchema/oval-definitions-5"
00044 #define OVAL_DIGSIG_NAMESPACE BAD_CAST "http://www.w3.org/2000/09/xmldsig#"
00045
00046 struct oval_definition *get_oval_definition_new
00047 (struct oval_definition_model *, char *);
00048
00049 typedef bool oval_definitions_resolver(struct oval_definition *, void *);
00050
00051 xmlNode *oval_definitions_to_dom
00052 (struct oval_definition_model *definition_model, xmlDocPtr doc, xmlNode *parent,
00053 oval_definitions_resolver resolver, void *user_arg);
00054
00055 struct oval_test *get_oval_test_new(struct oval_definition_model *, char *);
00056 struct oval_object *get_oval_object_new(struct oval_definition_model *, char *);
00057 struct oval_state *get_oval_state_new(struct oval_definition_model *, char *);
00058 struct oval_variable *get_oval_variable_new(struct oval_definition_model *, char *, oval_variable_type_t type);
00059
00060 struct oval_definition *oval_definition_clone(struct oval_definition *, struct oval_definition_model *);
00061 struct oval_test *oval_test_clone (struct oval_test *, struct oval_definition_model *);
00062 struct oval_object *oval_object_clone (struct oval_object *, struct oval_definition_model *);
00063 struct oval_state *oval_state_clone (struct oval_state *, struct oval_definition_model *);
00064 struct oval_variable *oval_variable_clone (struct oval_variable *, struct oval_definition_model *);
00065
00066 struct oval_syschar *get_oval_syschar_new(struct oval_syschar_model *, struct oval_object *);
00067 struct oval_syschar_item *get_oval_syschar_item_new(struct oval_syschar_model *, char *);
00068 struct oval_sysdata *oval_syschar_model_get_sysdata(struct oval_syschar_model *, char*);
00069
00070 typedef bool oval_syschar_resolver(struct oval_syschar *, void *);
00071
00072 xmlNode *oval_syschar_model_to_dom
00073 (struct oval_syschar_model *, xmlDocPtr, xmlNode *,
00074 oval_syschar_resolver, void *);
00075
00076 struct oval_sysdata *get_oval_sysdata_new(struct oval_syschar_model *, char *);
00077 void oval_syschar_model_add_syschar(struct oval_syschar_model *model, struct oval_syschar *syschar);
00078 void oval_syschar_model_add_sysdata(struct oval_syschar_model *model, struct oval_sysdata *sysdata);
00079 void oval_syschar_model_set_sysinfo(struct oval_syschar_model *model, struct oval_sysinfo *sysinfo);
00080 void oval_syschar_model_add_variable_binding(struct oval_syschar_model *model, struct oval_variable_binding *binding);
00081
00082 typedef struct oval_export_target {
00083 char *filename;
00084 char *encoding;
00085 } oval_export_target_t;
00086
00087
00088 typedef struct oval_import_source {
00089 char *import_source_filename;
00090 } oval_import_source_t;
00091
00092 OSCAP_HIDDEN_END;
00093
00094 #endif