00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00053 #ifndef OVAL_DEFINITIONS
00054 #define OVAL_DEFINITIONS
00055
00056 #include "oval_types.h"
00057 #include <stdbool.h>
00058
00064 typedef enum {
00065 OVAL_AFCFML_UNKNOWN = 0,
00066 OVAL_AFCFML_CATOS = 1,
00067 OVAL_AFCFML_IOS = 2,
00068 OVAL_AFCFML_MACOS = 3,
00069 OVAL_AFCFML_PIXOS = 4,
00070 OVAL_AFCFML_UNDEFINED = 5,
00071 OVAL_AFCFML_UNIX = 6,
00072 OVAL_AFCFML_WINDOWS = 7
00073 } oval_affected_family_t;
00074
00076 typedef enum {
00077 OVAL_NODETYPE_UNKNOWN = 0,
00078 OVAL_NODETYPE_CRITERIA = 1,
00079 OVAL_NODETYPE_CRITERION = 2,
00080 OVAL_NODETYPE_EXTENDDEF = 3
00081 } oval_criteria_node_type_t;
00082
00084 typedef enum {
00085 OVAL_OPERATOR_UNKNOWN = 0,
00086 OVAL_OPERATOR_AND = 1,
00087 OVAL_OPERATOR_ONE = 2,
00088 OVAL_OPERATOR_OR = 3,
00089 OVAL_OPERATOR_XOR = 4
00090 } oval_operator_t;
00091
00093 typedef enum {
00094 OVAL_OPERATION_UNKNOWN = 0,
00095 OVAL_OPERATION_EQUALS = 1,
00096 OVAL_OPERATION_NOT_EQUAL = 2,
00097 OVAL_OPERATION_CASE_INSENSITIVE_EQUALS = 3,
00098 OVAL_OPERATION_CASE_INSENSITIVE_NOT_EQUAL = 4,
00099 OVAL_OPERATION_GREATER_THAN = 5,
00100 OVAL_OPERATION_LESS_THAN = 6,
00101 OVAL_OPERATION_GREATER_THAN_OR_EQUAL = 7,
00102 OVAL_OPERATION_LESS_THAN_OR_EQUAL = 8,
00103 OVAL_OPERATION_BITWISE_AND = 9,
00104 OVAL_OPERATION_BITWISE_OR = 10,
00105 OVAL_OPERATION_PATTERN_MATCH = 11
00106 } oval_operation_t;
00107
00109 typedef enum { OVAL_CLASS_UNKNOWN = 0, OVAL_CLASS_COMPLIANCE = 1, OVAL_CLASS_INVENTORY = 2, OVAL_CLASS_MISCELLANEOUS = 3, OVAL_CLASS_PATCH = 4, OVAL_CLASS_VULNERABILITY = 5,
00116 } oval_definition_class_t;
00117
00119 typedef enum {
00120 OVAL_EXISTENCE_UNKNOWN = 0,
00121 OVAL_ALL_EXIST = 1,
00122 OVAL_ANY_EXIST = 2,
00123 OVAL_AT_LEAST_ONE_EXISTS = 3,
00124 OVAL_ONLY_ONE_EXISTS = 4,
00125 OVAL_NONE_EXIST = 5
00126 } oval_existence_t;
00127
00129 typedef enum {
00130 OVAL_CHECK_UNKNOWN = 0,
00131 OVAL_CHECK_ALL = 1,
00132 OVAL_CHECK_AT_LEAST_ONE = 2,
00133 OVAL_CHECK_NONE_EXIST = 3,
00134 OVAL_CHECK_NONE_SATISFY = 4,
00135 OVAL_CHECK_ONLY_ONE = 5
00136 } oval_check_t;
00137
00139 typedef enum {
00140 OVAL_OBJECTCONTENT_UNKNOWN = 0,
00141 OVAL_OBJECTCONTENT_ENTITY = 1,
00142 OVAL_OBJECTCONTENT_SET = 2
00143 } oval_object_content_type_t;
00144
00146 typedef enum {
00147 OVAL_ENTITY_TYPE_UNKNOWN,
00148 OVAL_ENTITY_TYPE_ANY,
00149 OVAL_ENTITY_TYPE_BINARY,
00150 OVAL_ENTITY_TYPE_BOOLEAN,
00151 OVAL_ENTITY_TYPE_FLOAT,
00152 OVAL_ENTITY_TYPE_INTEGER,
00153 OVAL_ENTITY_TYPE_STRING,
00154 } oval_entity_type_t;
00155
00157 typedef enum {
00158 OVAL_DATATYPE_UNKNOWN = 0,
00159 OVAL_DATATYPE_BINARY = 1,
00160 OVAL_DATATYPE_BOOLEAN = 2,
00161 OVAL_DATATYPE_EVR_STRING = 3,
00162 OVAL_DATATYPE_FILESET_REVISION = 4,
00163 OVAL_DATATYPE_FLOAT = 5,
00164 OVAL_DATATYPE_IOS_VERSION = 6,
00165 OVAL_DATATYPE_VERSION = 7,
00166 OVAL_DATATYPE_INTEGER = 8,
00167 OVAL_DATATYPE_STRING = 9
00168 } oval_datatype_t;
00169
00171 typedef enum {
00172 OVAL_ENTITY_VARREF_UNKNOWN,
00173 OVAL_ENTITY_VARREF_NONE,
00174 OVAL_ENTITY_VARREF_ATTRIBUTE,
00175 OVAL_ENTITY_VARREF_ELEMENT
00176 } oval_entity_varref_type_t;
00177
00179 typedef enum {
00180 OVAL_SET_UNKNOWN,
00181 OVAL_SET_AGGREGATE,
00182 OVAL_SET_COLLECTIVE
00183 } oval_setobject_type_t;
00184
00186 typedef enum {
00187 OVAL_SET_OPERATION_UNKNOWN,
00188 OVAL_SET_OPERATION_COMPLEMENT = 1,
00189 OVAL_SET_OPERATION_INTERSECTION = 2,
00190 OVAL_SET_OPERATION_UNION = 3
00191 } oval_setobject_operation_t;
00192
00194 typedef enum {
00195 OVAL_VARIABLE_UNKNOWN,
00196 OVAL_VARIABLE_EXTERNAL,
00197 OVAL_VARIABLE_CONSTANT,
00198 OVAL_VARIABLE_LOCAL
00199 } oval_variable_type_t;
00200
00201 #define OVAL_FUNCTION 10
00203 typedef enum {
00204 OVAL_COMPONENT_UNKNOWN = 0,
00205 OVAL_COMPONENT_LITERAL = 1,
00206 OVAL_COMPONENT_OBJECTREF = 2,
00207 OVAL_COMPONENT_VARREF = 3,
00208 OVAL_COMPONENT_FUNCTION = 4,
00209 OVAL_FUNCTION_BEGIN = OVAL_FUNCTION + 1,
00210 OVAL_FUNCTION_CONCAT = OVAL_FUNCTION + 2,
00211 OVAL_FUNCTION_END = OVAL_FUNCTION + 3,
00212 OVAL_FUNCTION_SPLIT = OVAL_FUNCTION + 4,
00213 OVAL_FUNCTION_SUBSTRING = OVAL_FUNCTION + 5,
00214 OVAL_FUNCTION_TIMEDIF = OVAL_FUNCTION + 6,
00215 OVAL_FUNCTION_ESCAPE_REGEX = OVAL_FUNCTION + 7,
00216 OVAL_FUNCTION_REGEX_CAPTURE = OVAL_FUNCTION + 8,
00217 OVAL_FUNCTION_ARITHMETIC = OVAL_FUNCTION + 9
00218 } oval_component_type_t;
00219
00221 typedef enum {
00222 OVAL_ARITHMETIC_UNKNOWN = 0,
00223 OVAL_ARITHMETIC_ADD = 1,
00224 OVAL_ARITHMETIC_MULTIPLY = 2,
00225 OVAL_ARITHMETIC_SUBTRACT = 3,
00226 OVAL_ARITHMETIC_DIVIDE = 4
00227 } oval_arithmetic_operation_t;
00228
00230 typedef enum {
00231 OVAL_DATETIME_UNKNOWN = 0,
00232 OVAL_DATETIME_YEAR_MONTH_DAY = 1,
00233 OVAL_DATETIME_MONTH_DAY_YEAR = 2,
00234 OVAL_DATETIME_DAY_MONTH_YEAR = 3,
00235 OVAL_DATETIME_WIN_FILETIME = 4,
00236 OVAL_DATETIME_SECONDS_SINCE_EPOCH = 5
00237 } oval_datetime_format_t;
00238
00240 typedef enum {
00241 OVAL_MESSAGE_LEVEL_NONE = 0,
00242 OVAL_MESSAGE_LEVEL_DEBUG = 1,
00243 OVAL_MESSAGE_LEVEL_INFO = 2,
00244 OVAL_MESSAGE_LEVEL_WARNING = 3,
00245 OVAL_MESSAGE_LEVEL_ERROR = 4,
00246 OVAL_MESSAGE_LEVEL_FATAL = 5
00247 } oval_message_level_t;
00248
00253 struct oval_definition_model;
00254
00300 struct oval_affected;
00305 struct oval_affected_iterator;
00336 struct oval_test;
00341 struct oval_test_iterator;
00376 struct oval_criteria_node;
00381 struct oval_criteria_node_iterator;
00414 struct oval_reference;
00419 struct oval_reference_iterator;
00452 struct oval_definition;
00457 struct oval_definition_iterator;
00492 struct oval_object;
00497 struct oval_object_iterator;
00530 struct oval_state;
00535 struct oval_state_iterator;
00576 struct oval_variable;
00581 struct oval_variable_iterator;
00610 struct oval_variable_binding;
00611 struct oval_variable_binding_iterator;
00641 struct oval_object_content;
00642 struct oval_object_content_iterator;
00672 struct oval_state_content;
00673 struct oval_state_content_iterator;
00702 struct oval_behavior;
00703 struct oval_behavior_iterator;
00732 struct oval_entity;
00733 struct oval_entity_iterator;
00762 struct oval_setobject;
00763 struct oval_setobject_iterator;
00792 struct oval_value;
00793 struct oval_value_iterator;
00915 struct oval_component;
00916 struct oval_component_iterator;
00945 struct oval_message;
00946 struct oval_message_iterator;
00947
00952 void oval_definition_model_bind_variable_model(struct oval_definition_model *, struct oval_variable_model *);
00956 struct oval_definition_model *oval_definition_model_new(void);
00961 bool oval_definition_model_is_valid(struct oval_definition_model *definition_model);
00967 bool oval_definition_model_is_locked(struct oval_definition_model *definition_model);
00974 void oval_definition_model_lock(struct oval_definition_model *definition_model);
00975
00979 struct oval_definition_model *oval_definition_model_clone(struct oval_definition_model *);
00980
00981
00982
00983 void oval_definition_model_free(struct oval_definition_model *model);
00995 int oval_definition_model_import(struct oval_definition_model *model, struct oscap_import_source *source, void *client);
01003 struct oval_definition *oval_definition_model_get_definition(struct oval_definition_model *, char *id);
01009 struct oval_definition_iterator *oval_definition_model_get_definitions(struct oval_definition_model *model);
01013 void oval_definition_model_add_definition(struct oval_definition_model *, struct oval_definition *);
01017 void oval_definition_model_set_locked(struct oval_definition_model *);
01021 void oval_definition_model_add_test(struct oval_definition_model *, struct oval_test *);
01025 void oval_definition_model_add_object(struct oval_definition_model *, struct oval_object *);
01029 void oval_definition_model_add_state(struct oval_definition_model *, struct oval_state *);
01033 void oval_definition_model_add_variable(struct oval_definition_model *, struct oval_variable *);
01042 struct oval_test *oval_definition_model_get_test(struct oval_definition_model *model, char *id);
01051 struct oval_object *oval_definition_model_get_object(struct oval_definition_model *model, char *id);
01060 struct oval_state *oval_definition_model_get_state(struct oval_definition_model *model, char *id);
01069 struct oval_variable *oval_definition_model_get_variable(struct oval_definition_model *model, char *id);
01076 struct oval_test_iterator *oval_definition_model_get_tests(struct oval_definition_model *model);
01083 struct oval_object_iterator *oval_definition_model_get_objects(struct oval_definition_model *model);
01090 struct oval_state_iterator *oval_definition_model_get_states(struct oval_definition_model *model);
01097 struct oval_variable_iterator *oval_definition_model_get_variables(struct oval_definition_model *model);
01101 int oval_definition_model_export(struct oval_definition_model *, struct oscap_export_target *);
01102
01107 bool oval_affected_iterator_has_more(struct oval_affected_iterator *);
01112 struct oval_affected *oval_affected_iterator_next(struct oval_affected_iterator *);
01117 void oval_affected_iterator_free(struct oval_affected_iterator *);
01122 struct oval_affected *oval_affected_new(struct oval_definition_model *);
01127 struct oval_affected *oval_affected_clone(struct oval_definition_model *new_model, struct oval_affected *old_affected);
01132 bool oval_affected_is_valid(struct oval_affected *);
01138 bool oval_affected_is_locked(struct oval_affected *);
01143 void oval_affected_free(struct oval_affected *);
01149 void oval_affected_set_family(struct oval_affected *, oval_affected_family_t family);
01156 void oval_affected_add_platform(struct oval_affected *, char *platform_name);
01163 void oval_affected_add_product(struct oval_affected *, char *product_name);
01170 oval_affected_family_t oval_affected_get_family(struct oval_affected *);
01171
01177 struct oval_string_iterator *oval_affected_get_platforms(struct oval_affected *);
01178
01184 struct oval_string_iterator *oval_affected_get_products(struct oval_affected *);
01205 struct oval_criteria_node *oval_criteria_node_new(struct oval_definition_model *, oval_criteria_node_type_t type);
01210 struct oval_criteria_node *oval_criteria_node_clone
01211 (struct oval_definition_model *new_model, struct oval_criteria_node *old_node);
01217 bool oval_criteria_node_is_locked(struct oval_criteria_node *);
01222 void oval_criteria_node_free(struct oval_criteria_node *);
01227 bool oval_criteria_node_iterator_has_more(struct oval_criteria_node_iterator *);
01233 struct oval_criteria_node *oval_criteria_node_iterator_next(struct oval_criteria_node_iterator *);
01238 void oval_criteria_node_iterator_free(struct oval_criteria_node_iterator *);
01254 bool oval_criteria_node_is_valid(struct oval_criteria_node *);
01260 oval_criteria_node_type_t oval_criteria_node_get_type(struct oval_criteria_node *);
01266 bool oval_criteria_node_get_negate(struct oval_criteria_node *);
01273 void oval_criteria_node_set_negate(struct oval_criteria_node *, bool negate);
01280 void oval_criteria_set_node_type(struct oval_criteria_node *node, oval_criteria_node_type_t type);
01286 char *oval_criteria_node_get_comment(struct oval_criteria_node *);
01293 void oval_criteria_node_set_comment(struct oval_criteria_node *, char *comment);
01300 oval_operator_t oval_criteria_node_get_operator(struct oval_criteria_node *);
01309 void oval_criteria_node_set_operator(struct oval_criteria_node *, oval_operator_t op);
01318 struct oval_criteria_node_iterator *oval_criteria_node_get_subnodes(struct oval_criteria_node *);
01330 void oval_criteria_node_add_subnode(struct oval_criteria_node *, struct oval_criteria_node *node);
01337 struct oval_test *oval_criteria_node_get_test(struct oval_criteria_node *);
01346 void oval_criteria_node_set_test(struct oval_criteria_node *, struct oval_test *);
01353 struct oval_definition *oval_criteria_node_get_definition(struct oval_criteria_node *);
01362 void oval_criteria_node_set_definition(struct oval_criteria_node *, struct oval_definition *);
01366 struct oval_reference *oval_reference_new(struct oval_definition_model *);
01371 bool oval_reference_is_valid(struct oval_reference *reference);
01377 bool oval_reference_is_locked(struct oval_reference *reference);
01381 struct oval_reference *oval_reference_clone
01382 (struct oval_definition_model *new_model, struct oval_reference *old_reference);
01386 void oval_reference_free(struct oval_reference *);
01387
01391 void oval_reference_set_source(struct oval_reference *, char *);
01395 void oval_reference_set_id(struct oval_reference *, char *);
01399 void oval_reference_set_url(struct oval_reference *, char *);
01403 bool oval_reference_iterator_has_more(struct oval_reference_iterator *);
01407 struct oval_reference *oval_reference_iterator_next(struct oval_reference_iterator *);
01411 void oval_reference_iterator_free(struct oval_reference_iterator *);
01417 char *oval_reference_get_source(struct oval_reference *);
01423 char *oval_reference_get_id(struct oval_reference *);
01429 char *oval_reference_get_url(struct oval_reference *);
01446 struct oval_definition *oval_definition_new(struct oval_definition_model *, char *id);
01456 void oval_definition_free(struct oval_definition *);
01461 bool oval_definition_iterator_has_more(struct oval_definition_iterator *);
01467 struct oval_definition *oval_definition_iterator_next(struct oval_definition_iterator *);
01472 void oval_definition_iterator_free(struct oval_definition_iterator *);
01484 bool oval_definition_is_valid(struct oval_definition *definition);
01490 bool oval_definition_is_locked(struct oval_definition *definition);
01491
01497 char *oval_definition_get_id(struct oval_definition *);
01503 int oval_definition_get_version(struct oval_definition *);
01513 void oval_definition_set_version(struct oval_definition *, int version);
01518 oval_definition_class_t oval_definition_get_class(struct oval_definition *);
01528 void oval_definition_set_class(struct oval_definition *, oval_definition_class_t);
01534 bool oval_definition_get_deprecated(struct oval_definition *);
01541 void oval_definition_set_deprecated(struct oval_definition *, bool deprecated);
01547 char *oval_definition_get_title(struct oval_definition *);
01557 void oval_definition_set_title(struct oval_definition *, char *title);
01563 char *oval_definition_get_description(struct oval_definition *);
01573 void oval_definition_set_description(struct oval_definition *, char *description);
01583 struct oval_affected_iterator *oval_definition_get_affected(struct oval_definition *);
01595 void oval_definition_add_affected(struct oval_definition *, struct oval_affected *affected);
01605 struct oval_reference_iterator *oval_definition_get_references(struct oval_definition *);
01617 void oval_definition_add_reference(struct oval_definition *, struct oval_reference *reference);
01627 struct oval_string_iterator *oval_definition_get_notes(struct oval_definition *);
01634 void oval_definition_add_note(struct oval_definition *, char *note);
01640 struct oval_criteria_node *oval_definition_get_criteria(struct oval_definition *);
01656 void oval_definition_set_criteria(struct oval_definition *, struct oval_criteria_node *criteria);
01675 struct oval_object *oval_object_new(struct oval_definition_model *, char *id);
01680 bool oval_object_is_valid(struct oval_object *object);
01686 bool oval_object_is_locked(struct oval_object *object);
01691 void oval_object_free(struct oval_object *);
01697 oval_family_t oval_object_get_family(struct oval_object *);
01704 const char *oval_object_get_name(struct oval_object *);
01705
01711 oval_subtype_t oval_object_get_subtype(struct oval_object *);
01723 void oval_object_set_subtype(struct oval_object *, oval_subtype_t subtype);
01730 struct oval_string_iterator *oval_object_get_notes(struct oval_object *);
01737 void oval_object_add_note(struct oval_object *, char *note);
01738
01744 char *oval_object_get_comment(struct oval_object *);
01751 void oval_object_set_comment(struct oval_object *, char *comment);
01752
01758 char *oval_object_get_id(struct oval_object *);
01759
01766 bool oval_object_get_deprecated(struct oval_object *);
01772 void oval_object_set_deprecated(struct oval_object *, bool deprecated);
01778 int oval_object_get_version(struct oval_object *);
01788 void oval_object_set_version(struct oval_object *, int version);
01794 struct oval_object_content_iterator *oval_object_get_object_contents(struct oval_object *);
01808 void oval_object_add_object_content(struct oval_object *, struct oval_object_content *content);
01813 bool oval_object_iterator_has_more(struct oval_object_iterator *);
01818 struct oval_object *oval_object_iterator_next(struct oval_object_iterator *);
01823 void oval_object_iterator_free(struct oval_object_iterator *);
01829 struct oval_behavior_iterator *oval_object_get_behaviors(struct oval_object *);
01843 void oval_object_add_behavior(struct oval_object *, struct oval_behavior *behavior);
01864 struct oval_test *oval_test_new(struct oval_definition_model *, char *id);
01869 void oval_test_free(struct oval_test *);
01874 bool oval_test_iterator_has_more(struct oval_test_iterator *);
01879 struct oval_test *oval_test_iterator_next(struct oval_test_iterator *);
01884 void oval_test_iterator_free(struct oval_test_iterator *);
01885
01901 bool oval_test_is_valid(struct oval_test *);
01907 bool oval_test_is_locked(struct oval_test *test);
01913 oval_family_t oval_test_get_family(struct oval_test *);
01919 oval_subtype_t oval_test_get_subtype(struct oval_test *);
01931 void oval_test_set_subtype(struct oval_test *, oval_subtype_t subtype);
01938 struct oval_string_iterator *oval_test_get_notes(struct oval_test *);
01945 void oval_test_add_note(struct oval_test *, char *note);
01951 char *oval_test_get_comment(struct oval_test *);
01958 void oval_test_set_comment(struct oval_test *, char *comment);
01964 char *oval_test_get_id(struct oval_test *);
01971 bool oval_test_get_deprecated(struct oval_test *);
01977 void oval_test_set_deprecated(struct oval_test *, bool deprecated);
01983 int oval_test_get_version(struct oval_test *);
01993 void oval_test_set_version(struct oval_test *, int version);
01999 oval_existence_t oval_test_get_existence(struct oval_test *);
02009 void oval_test_set_existence(struct oval_test *, oval_existence_t);
02015 oval_check_t oval_test_get_check(struct oval_test *);
02026 void oval_test_set_check(struct oval_test *, oval_check_t);
02032 struct oval_object *oval_test_get_object(struct oval_test *);
02042 void oval_test_set_object(struct oval_test *, struct oval_object *);
02043
02050 struct oval_state *oval_test_get_state(struct oval_test *);
02060 void oval_test_set_state(struct oval_test *, struct oval_state *state);
02065 struct oval_variable_binding *oval_variable_binding_new(struct oval_variable *, char *);
02070 struct oval_variable_binding *oval_variable_binding_clone(struct oval_variable_binding *,
02071 struct oval_definition_model *);
02076 void oval_variable_binding_free(struct oval_variable_binding *);
02081 void oval_variable_binding_set_variable(struct oval_variable_binding *, struct oval_variable *);
02086 void oval_variable_binding_set_value(struct oval_variable_binding *, char *);
02091 bool oval_variable_binding_iterator_has_more(struct oval_variable_binding_iterator *);
02095 struct oval_variable_binding *oval_variable_binding_iterator_next(struct oval_variable_binding_iterator *);
02099 void oval_variable_binding_iterator_free(struct oval_variable_binding_iterator *);
02105 struct oval_variable *oval_variable_binding_get_variable(struct oval_variable_binding *);
02111 char *oval_variable_binding_get_value(struct oval_variable_binding *);
02115 struct oval_object_content
02116 *oval_object_content_new(struct oval_definition_model *model, oval_object_content_type_t type);
02121 bool oval_object_content_is_valid(struct oval_object_content *object_content);
02127 bool oval_object_content_is_locked(struct oval_object_content *object_content);
02131 struct oval_object_content *oval_object_content_clone
02132 (struct oval_definition_model *new_model, struct oval_object_content *old_content);
02136 void oval_object_content_free(struct oval_object_content *);
02140 void oval_object_content_set_type(struct oval_object_content *, oval_object_content_type_t);
02144 void oval_object_content_set_field_name(struct oval_object_content *, char *);
02148 void oval_object_content_set_entity(struct oval_object_content *, struct oval_entity *);
02152 void oval_object_content_set_varCheck(struct oval_object_content *, oval_check_t);
02156 void oval_object_content_set_setobject(struct oval_object_content *, struct oval_setobject *);
02160 bool oval_object_content_iterator_has_more(struct oval_object_content_iterator *);
02164 struct oval_object_content *oval_object_content_iterator_next(struct oval_object_content_iterator *);
02168 void oval_object_content_iterator_free(struct oval_object_content_iterator *);
02174 char *oval_object_content_get_field_name(struct oval_object_content *);
02180 oval_object_content_type_t oval_object_content_get_type(struct oval_object_content *);
02186 struct oval_entity *oval_object_content_get_entity(struct oval_object_content *);
02192 oval_check_t oval_object_content_get_varCheck(struct oval_object_content *);
02198 struct oval_setobject *oval_object_content_get_setobject(struct oval_object_content *);
02202 struct oval_state_content *oval_state_content_new(struct oval_definition_model *);
02208 bool oval_state_content_is_locked(struct oval_state_content *);
02213 bool oval_state_is_valid(struct oval_state *state);
02219 bool oval_state_is_locked(struct oval_state *state);
02223 struct oval_state_content *oval_state_content_clone
02224 (struct oval_definition_model *new_model, struct oval_state_content *old_content);
02228 void oval_state_content_free(struct oval_state_content *);
02232 void oval_state_content_set_entity(struct oval_state_content *, struct oval_entity *);
02236 void oval_state_content_set_varcheck(struct oval_state_content *, oval_check_t);
02240 void oval_state_content_set_entcheck(struct oval_state_content *, oval_check_t);
02244 struct oval_entity *oval_entity_new(struct oval_definition_model *);
02249 bool oval_entity_is_valid(struct oval_entity *entity);
02255 bool oval_entity_is_locked(struct oval_entity *entity);
02259 struct oval_entity *oval_entity_clone(struct oval_definition_model *model, struct oval_entity *old_entity);
02263 void oval_entity_free(struct oval_entity *);
02267 void oval_entity_set_type(struct oval_entity *, oval_entity_type_t);
02271 void oval_entity_set_datatype(struct oval_entity *, oval_datatype_t);
02275 void oval_entity_set_mask(struct oval_entity *, int);
02279 void oval_entity_set_varref_type(struct oval_entity *, oval_entity_varref_type_t);
02283 void oval_entity_set_variable(struct oval_entity *, struct oval_variable *);
02287 void oval_entity_set_value(struct oval_entity *, struct oval_value *);
02291 void oval_entity_set_name(struct oval_entity *, char *);
02295 void oval_entity_set_operation(struct oval_entity *, oval_operation_t);
02299 bool oval_state_content_iterator_has_more(struct oval_state_content_iterator *);
02303 struct oval_state_content *oval_state_content_iterator_next(struct oval_state_content_iterator *);
02307 void oval_state_content_iterator_free(struct oval_state_content_iterator *);
02313 struct oval_entity *oval_state_content_get_entity(struct oval_state_content *);
02319 oval_check_t oval_state_content_get_var_check(struct oval_state_content *);
02325 oval_check_t oval_state_content_get_ent_check(struct oval_state_content *);
02329 bool oval_entity_iterator_has_more(struct oval_entity_iterator *);
02333 struct oval_entity *oval_entity_iterator_next(struct oval_entity_iterator *);
02337 void oval_entity_iterator_free(struct oval_entity_iterator *);
02342 char *oval_entity_get_name(struct oval_entity *);
02347 oval_entity_type_t oval_entity_get_type(struct oval_entity *);
02352 oval_datatype_t oval_entity_get_datatype(struct oval_entity *);
02357 oval_operation_t oval_entity_get_operation(struct oval_entity *);
02362 int oval_entity_get_mask(struct oval_entity *);
02367 oval_entity_varref_type_t oval_entity_get_varref_type(struct oval_entity *);
02372 struct oval_variable *oval_entity_get_variable(struct oval_entity *);
02377 struct oval_value *oval_entity_get_value(struct oval_entity *);
02381 struct oval_setobject *oval_setobject_new(struct oval_definition_model *);
02386 bool oval_setobject_is_valid(struct oval_setobject *setobject);
02392 bool oval_setobject_is_locked(struct oval_setobject *setobject);
02396 struct oval_setobject *oval_setobject_clone
02397 (struct oval_definition_model *new_model, struct oval_setobject *old_setobject);
02401 void oval_setobject_free(struct oval_setobject *);
02405 void oval_setobject_set_type(struct oval_setobject *, oval_setobject_type_t);
02409 void oval_setobject_set_operation(struct oval_setobject *, oval_setobject_operation_t);
02413 void oval_setobject_add_subset(struct oval_setobject *, struct oval_setobject *);
02417 void oval_setobject_add_object(struct oval_setobject *, struct oval_object *);
02421 void oval_setobject_add_filter(struct oval_setobject *, struct oval_state *);
02425 bool oval_setobject_iterator_has_more(struct oval_setobject_iterator *);
02429 struct oval_setobject *oval_setobject_iterator_next(struct oval_setobject_iterator *);
02433 void oval_setobject_iterator_free(struct oval_setobject_iterator *);
02438 oval_setobject_type_t oval_setobject_get_type(struct oval_setobject *);
02443 oval_setobject_operation_t oval_setobject_get_operation(struct oval_setobject *);
02449 struct oval_setobject_iterator *oval_setobject_get_subsets(struct oval_setobject *);
02455 struct oval_object_iterator *oval_setobject_get_objects(struct oval_setobject *);
02461 struct oval_state_iterator *oval_setobject_get_filters(struct oval_setobject *);
02465 struct oval_behavior *oval_behavior_new(struct oval_definition_model *);
02470 bool oval_behavior_is_valid(struct oval_behavior *behavior);
02476 bool oval_behavior_is_locked(struct oval_behavior *behavior);
02480 struct oval_behavior *oval_behavior_clone(struct oval_definition_model *new_model, struct oval_behavior *old_behavior);
02484 void oval_behavior_free(struct oval_behavior *);
02488 void oval_behavior_set_keyval(struct oval_behavior *behavior, const char *key, const char *value);
02492 bool oval_behavior_iterator_has_more(struct oval_behavior_iterator *);
02496 struct oval_behavior *oval_behavior_iterator_next(struct oval_behavior_iterator *);
02500 void oval_behavior_iterator_free(struct oval_behavior_iterator *);
02505 char *oval_behavior_get_key(struct oval_behavior *);
02510 char *oval_behavior_get_value(struct oval_behavior *);
02514 struct oval_value *oval_value_new(oval_datatype_t datatype, char *text_value);
02519 bool oval_value_is_valid(struct oval_value *value);
02525 bool oval_value_is_locked(struct oval_value *value);
02529 struct oval_value *oval_value_clone(struct oval_value *old_value);
02533 void oval_value_free(struct oval_value *);
02537 bool oval_value_iterator_has_more(struct oval_value_iterator *);
02541 struct oval_value *oval_value_iterator_next(struct oval_value_iterator *);
02545 int oval_value_iterator_remaining(struct oval_value_iterator *iterator);
02549 void oval_value_iterator_free(struct oval_value_iterator *);
02554 oval_datatype_t oval_value_get_datatype(struct oval_value *);
02559 char *oval_value_get_text(struct oval_value *);
02564 unsigned char *oval_value_get_binary(struct oval_value *);
02569 bool oval_value_get_boolean(struct oval_value *);
02574 float oval_value_get_float(struct oval_value *);
02579 long oval_value_get_integer(struct oval_value *);
02597 struct oval_state *oval_state_new(struct oval_definition_model *, char *id);
02602 bool oval_state_is_valid(struct oval_state *state);
02608 bool oval_state_is_locked(struct oval_state *state);
02613 void oval_state_free(struct oval_state *);
02619 oval_family_t oval_state_get_family(struct oval_state *);
02626 const char *oval_state_get_name(struct oval_state *);
02632 oval_subtype_t oval_state_get_subtype(struct oval_state *);
02644 void oval_state_set_subtype(struct oval_state *, oval_subtype_t subtype);
02651 struct oval_string_iterator *oval_state_get_notes(struct oval_state *);
02658 void oval_state_add_note(struct oval_state *, char *note);
02664 char *oval_state_get_comment(struct oval_state *);
02671 void oval_state_set_comment(struct oval_state *, char *comment);
02677 char *oval_state_get_id(struct oval_state *);
02684 bool oval_state_get_deprecated(struct oval_state *);
02690 void oval_state_set_deprecated(struct oval_state *, bool deprecated);
02696 int oval_state_get_version(struct oval_state *);
02706 void oval_state_set_version(struct oval_state *, int version);
02712 struct oval_state_content_iterator *oval_state_get_contents(struct oval_state *);
02726 void oval_state_add_content(struct oval_state *, struct oval_state_content *content);
02731 bool oval_state_iterator_has_more(struct oval_state_iterator *);
02736 struct oval_state *oval_state_iterator_next(struct oval_state_iterator *);
02741 void oval_state_iterator_free(struct oval_state_iterator *);
02756 bool oval_variable_is_valid(struct oval_variable *);
02762 bool oval_variable_is_locked(struct oval_variable *variable);
02787 struct oval_variable *oval_variable_new(struct oval_definition_model *model, char *id, oval_variable_type_t type);
02792 void oval_variable_free(struct oval_variable *);
02798 char *oval_variable_get_id(struct oval_variable *);
02804 char *oval_variable_get_comment(struct oval_variable *);
02813 void oval_variable_set_comment(struct oval_variable *, char *comment);
02819 int oval_variable_get_version(struct oval_variable *);
02828 void oval_variable_set_version(struct oval_variable *, int version);
02834 bool oval_variable_get_deprecated(struct oval_variable *);
02841 void oval_variable_set_deprecated(struct oval_variable *, bool deprecated);
02847 oval_variable_type_t oval_variable_get_type(struct oval_variable *);
02853 oval_datatype_t oval_variable_get_datatype(struct oval_variable *);
02862 void oval_variable_set_datatype(struct oval_variable *, oval_datatype_t);
02870 struct oval_value_iterator *oval_variable_get_values(struct oval_variable *);
02885 void oval_variable_add_value(struct oval_variable *, struct oval_value *);
02892 struct oval_component *oval_variable_get_component(struct oval_variable *);
02897 const char *oval_component_type_get_text(oval_component_type_t type);
02911 void oval_variable_set_component(struct oval_variable *, struct oval_component *component);
02916 bool oval_variable_iterator_has_more(struct oval_variable_iterator *);
02921 struct oval_variable *oval_variable_iterator_next(struct oval_variable_iterator *);
02926 void oval_variable_iterator_free(struct oval_variable_iterator *);
02968 struct oval_component *oval_component_new(struct oval_definition_model *, oval_component_type_t type);
02973 struct oval_component *oval_component_clone(struct oval_definition_model *new_model,
02974 struct oval_component *old_component);
03023 bool oval_component_is_valid(struct oval_component *);
03029 bool oval_component_is_locked(struct oval_component *component);
03034 void oval_component_free(struct oval_component *);
03040 oval_component_type_t oval_component_get_type(struct oval_component *);
03041
03047 void oval_component_set_type(struct oval_component *component, oval_component_type_t type);
03055 struct oval_object *oval_component_get_object(struct oval_component *);
03062 void oval_component_set_object(struct oval_component *, struct oval_object *object);
03070 char *oval_component_get_object_field(struct oval_component *);
03078 void oval_component_set_object_field(struct oval_component *, char *field);
03086 struct oval_variable *oval_component_get_variable(struct oval_component *);
03093 void oval_component_set_variable(struct oval_component *, struct oval_variable *variable);
03100 struct oval_component_iterator *oval_component_get_function_components(struct oval_component *);
03108 void oval_component_add_function_component(struct oval_component *, struct oval_component *);
03115 oval_arithmetic_operation_t oval_component_get_arithmetic_operation(struct oval_component *);
03119 void oval_component_set_arithmetic_operation(struct oval_component *, oval_arithmetic_operation_t);
03126 char *oval_component_get_prefix(struct oval_component *);
03130 void oval_component_set_prefix(struct oval_component *, char *);
03138 char *oval_component_get_suffix(struct oval_component *);
03142 void oval_component_set_suffix(struct oval_component *, char *);
03150 char *oval_component_get_split_delimiter(struct oval_component *);
03154 void oval_component_set_split_delimiter(struct oval_component *, char *);
03161 int oval_component_get_substring_start(struct oval_component *);
03165 void oval_component_set_substring_start(struct oval_component *, int);
03172 int oval_component_get_substring_length(struct oval_component *);
03176 void oval_component_set_substring_length(struct oval_component *, int);
03183 oval_datetime_format_t oval_component_get_timedif_format_1(struct oval_component *);
03187 void oval_component_set_timedif_format_1(struct oval_component *, oval_datetime_format_t);
03194 oval_datetime_format_t oval_component_get_timedif_format_2(struct oval_component *);
03198 void oval_component_set_timedif_format_2(struct oval_component *, oval_datetime_format_t);
03206 char *oval_component_get_regex_pattern(struct oval_component *);
03210 void oval_component_set_regex_pattern(struct oval_component *, char *);
03218 struct oval_value *oval_component_get_literal_value(struct oval_component *);
03222 void oval_component_set_literal_value(struct oval_component *, struct oval_value *);
03227 bool oval_component_iterator_has_more(struct oval_component_iterator *);
03233 struct oval_component *oval_component_iterator_next(struct oval_component_iterator *);
03238 void oval_component_iterator_free(struct oval_component_iterator *);
03243 int oval_component_iterator_remaining(struct oval_component_iterator *);
03244
03248 struct oval_message *oval_message_new(void);
03253 bool oval_message_is_valid(struct oval_message *message);
03259 bool oval_message_is_locked(struct oval_message *message);
03263 struct oval_message *oval_message_clone(struct oval_message *old_message);
03267 void oval_message_free(struct oval_message *);
03271 void oval_message_set_text(struct oval_message *, char *);
03275 void oval_message_set_level(struct oval_message *, oval_message_level_t);
03279 bool oval_message_iterator_has_more(struct oval_message_iterator *oc_message);
03283 struct oval_message *oval_message_iterator_next(struct oval_message_iterator *oc_message);
03287 void oval_message_iterator_free(struct oval_message_iterator *oc_message);
03292 char *oval_message_get_text(struct oval_message *message);
03297 oval_message_level_t oval_message_get_level(struct oval_message *message);
03298
03302 const char *oval_operator_get_text(oval_operator_t);
03303
03307 oval_family_t oval_subtype_get_family(oval_subtype_t);
03308
03312 const char *oval_subtype_get_text(oval_subtype_t);
03313
03317 const char *oval_family_get_text(oval_family_t);
03318
03319 const char *oval_check_get_text(oval_check_t);
03320 const char *oval_existence_get_text(oval_existence_t);
03321 const char *oval_affected_family_get_text(oval_affected_family_t);
03322 const char *oval_datatype_get_text(oval_datatype_t);
03323 const char *oval_operation_get_text(oval_operation_t);
03324 const char *oval_set_operation_get_text(oval_setobject_operation_t);
03325 const char *oval_datetime_format_get_text(oval_datetime_format_t);
03326 const char *oval_arithmetic_operation_get_text(oval_arithmetic_operation_t);
03327 const char *oval_message_level_text(oval_message_level_t);
03328
03333 #endif