• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

/home/pvrabec/project/openscap/openscap-0.6.6/src/OVAL/public/oval_definitions.h

Go to the documentation of this file.
00001 
00016 /*
00017  * Copyright 2009-2010 Red Hat Inc., Durham, North Carolina.
00018  * All Rights Reserved.
00019  *
00020  * This library is free software; you can redistribute it and/or
00021  * modify it under the terms of the GNU Lesser General Public
00022  * License as published by the Free Software Foundation; either
00023  * version 2.1 of the License, or (at your option) any later version.
00024  *
00025  * This library is distributed in the hope that it will be useful,
00026  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00027  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00028  * Lesser General Public License for more details.
00029  *
00030  * You should have received a copy of the GNU Lesser General Public
00031  * License along with this library; if not, write to the Free Software
00032  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00033  *
00034  * Authors:
00035  *      "David Niemoller" <David.Niemoller@g2-inc.com>
00036  */
00037 
00038 
00039 #ifndef OVAL_DEFINITIONS
00040 #define OVAL_DEFINITIONS
00041 
00042 #include "oval_types.h"
00043 #include <stdbool.h>
00044 
00045 
00051 typedef enum {
00052         OVAL_AFCFML_UNKNOWN = 0,
00053         OVAL_AFCFML_CATOS = 1,
00054         OVAL_AFCFML_IOS = 2,
00055         OVAL_AFCFML_MACOS = 3,
00056         OVAL_AFCFML_PIXOS = 4,
00057         OVAL_AFCFML_UNDEFINED = 5,
00058         OVAL_AFCFML_UNIX = 6,
00059         OVAL_AFCFML_WINDOWS = 7
00060 } oval_affected_family_t;
00061 
00063 typedef enum {
00064         OVAL_NODETYPE_UNKNOWN = 0,
00065         OVAL_NODETYPE_CRITERIA = 1,
00066         OVAL_NODETYPE_CRITERION = 2,
00067         OVAL_NODETYPE_EXTENDDEF = 3
00068 } oval_criteria_node_type_t;
00069 
00071 typedef enum {
00072         OVAL_OPERATOR_UNKNOWN = 0,
00073         OVAL_OPERATOR_AND = 1,
00074         OVAL_OPERATOR_ONE = 2,
00075         OVAL_OPERATOR_OR = 3,
00076         OVAL_OPERATOR_XOR = 4
00077 } oval_operator_t;
00078 
00080 typedef enum {
00081         OVAL_OPERATION_UNKNOWN = 0,
00082         OVAL_OPERATION_EQUALS = 1,
00083         OVAL_OPERATION_NOT_EQUAL = 2,
00084         OVAL_OPERATION_CASE_INSENSITIVE_EQUALS = 3,
00085         OVAL_OPERATION_CASE_INSENSITIVE_NOT_EQUAL = 4,
00086         OVAL_OPERATION_GREATER_THAN = 5,
00087         OVAL_OPERATION_LESS_THAN = 6,
00088         OVAL_OPERATION_GREATER_THAN_OR_EQUAL = 7,
00089         OVAL_OPERATION_LESS_THAN_OR_EQUAL = 8,
00090         OVAL_OPERATION_BITWISE_AND = 9,
00091         OVAL_OPERATION_BITWISE_OR = 10,
00092         OVAL_OPERATION_PATTERN_MATCH = 11
00093 } oval_operation_t;
00094 
00096 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,
00103 } oval_definition_class_t;
00104 
00106 typedef enum {
00107         OVAL_EXISTENCE_UNKNOWN = 0,
00108         OVAL_ALL_EXIST = 1,
00109         OVAL_ANY_EXIST = 2,
00110         OVAL_AT_LEAST_ONE_EXISTS = 3,
00111         OVAL_ONLY_ONE_EXISTS = 4,
00112         OVAL_NONE_EXIST = 5
00113 } oval_existence_t;
00114 
00116 typedef enum {
00117         OVAL_CHECK_UNKNOWN = 0,
00118         OVAL_CHECK_ALL = 1,
00119         OVAL_CHECK_AT_LEAST_ONE = 2,
00120         OVAL_CHECK_NONE_EXIST = 3,
00121         OVAL_CHECK_NONE_SATISFY = 4,
00122         OVAL_CHECK_ONLY_ONE = 5
00123 } oval_check_t;
00124 
00126 typedef enum {
00127         OVAL_OBJECTCONTENT_UNKNOWN = 0,
00128         OVAL_OBJECTCONTENT_ENTITY = 1,
00129         OVAL_OBJECTCONTENT_SET = 2,
00130         OVAL_OBJECTCONTENT_FILTER = 3
00131 } oval_object_content_type_t;
00132 
00134 typedef enum {
00135         OVAL_ENTITY_TYPE_UNKNOWN,
00136         OVAL_ENTITY_TYPE_ANY,
00137         OVAL_ENTITY_TYPE_BINARY,
00138         OVAL_ENTITY_TYPE_BOOLEAN,
00139         OVAL_ENTITY_TYPE_FLOAT,
00140         OVAL_ENTITY_TYPE_INTEGER,
00141         OVAL_ENTITY_TYPE_STRING,
00142 } oval_entity_type_t;
00143 
00145 typedef enum {
00146         OVAL_FILTER_ACTION_UNKNOWN = 0,
00147         OVAL_FILTER_ACTION_EXCLUDE,
00148         OVAL_FILTER_ACTION_INCLUDE
00149 } oval_filter_action_t;
00150 
00152 typedef enum {
00153         OVAL_DATATYPE_UNKNOWN = 0,
00154         OVAL_DATATYPE_BINARY = 1,
00155         OVAL_DATATYPE_BOOLEAN = 2,
00156         OVAL_DATATYPE_EVR_STRING = 3,
00157         OVAL_DATATYPE_FILESET_REVISION = 4,
00158         OVAL_DATATYPE_FLOAT = 5,
00159         OVAL_DATATYPE_IOS_VERSION = 6,
00160         OVAL_DATATYPE_VERSION = 7,
00161         OVAL_DATATYPE_INTEGER = 8,
00162         OVAL_DATATYPE_STRING = 9
00163 } oval_datatype_t;
00164 
00166 typedef enum {
00167         OVAL_ENTITY_VARREF_UNKNOWN,
00168         OVAL_ENTITY_VARREF_NONE,
00169         OVAL_ENTITY_VARREF_ATTRIBUTE,
00170         OVAL_ENTITY_VARREF_ELEMENT
00171 } oval_entity_varref_type_t;
00172 
00174 typedef enum {
00175         OVAL_SET_UNKNOWN,
00176         OVAL_SET_AGGREGATE,
00177         OVAL_SET_COLLECTIVE
00178 } oval_setobject_type_t;
00179 
00181 typedef enum {
00182         OVAL_SET_OPERATION_UNKNOWN,
00183         OVAL_SET_OPERATION_COMPLEMENT = 1,
00184         OVAL_SET_OPERATION_INTERSECTION = 2,
00185         OVAL_SET_OPERATION_UNION = 3
00186 } oval_setobject_operation_t;
00187 
00189 typedef enum {
00190         OVAL_VARIABLE_UNKNOWN,
00191         OVAL_VARIABLE_EXTERNAL,
00192         OVAL_VARIABLE_CONSTANT,
00193         OVAL_VARIABLE_LOCAL
00194 } oval_variable_type_t;
00195 
00196 #define OVAL_FUNCTION 10
00197 
00198 typedef enum {
00199         OVAL_COMPONENT_UNKNOWN = 0,
00200         OVAL_COMPONENT_LITERAL = 1,
00201         OVAL_COMPONENT_OBJECTREF = 2,
00202         OVAL_COMPONENT_VARREF = 3,
00203         OVAL_COMPONENT_FUNCTION = 4,
00204         OVAL_FUNCTION_BEGIN = OVAL_FUNCTION + 1,
00205         OVAL_FUNCTION_CONCAT = OVAL_FUNCTION + 2,
00206         OVAL_FUNCTION_END = OVAL_FUNCTION + 3,
00207         OVAL_FUNCTION_SPLIT = OVAL_FUNCTION + 4,
00208         OVAL_FUNCTION_SUBSTRING = OVAL_FUNCTION + 5,
00209         OVAL_FUNCTION_TIMEDIF = OVAL_FUNCTION + 6,
00210         OVAL_FUNCTION_ESCAPE_REGEX = OVAL_FUNCTION + 7,
00211         OVAL_FUNCTION_REGEX_CAPTURE = OVAL_FUNCTION + 8,
00212         OVAL_FUNCTION_ARITHMETIC = OVAL_FUNCTION + 9
00213 } oval_component_type_t;
00214 
00216 typedef enum {
00217         OVAL_ARITHMETIC_UNKNOWN = 0,
00218         OVAL_ARITHMETIC_ADD = 1,
00219         OVAL_ARITHMETIC_MULTIPLY = 2,
00220         OVAL_ARITHMETIC_SUBTRACT = 3,   //NOT YET SUPPORTED BY OVAL
00221         OVAL_ARITHMETIC_DIVIDE = 4      //NOT YET SUPPORTED BY OVAL
00222 } oval_arithmetic_operation_t;
00223 
00225 typedef enum {
00226         OVAL_DATETIME_UNKNOWN = 0,
00227         OVAL_DATETIME_YEAR_MONTH_DAY = 1,
00228         OVAL_DATETIME_MONTH_DAY_YEAR = 2,
00229         OVAL_DATETIME_DAY_MONTH_YEAR = 3,
00230         OVAL_DATETIME_WIN_FILETIME = 4,
00231         OVAL_DATETIME_SECONDS_SINCE_EPOCH = 5
00232 } oval_datetime_format_t;
00233 
00234 
00238 oval_family_t oval_subtype_get_family(oval_subtype_t);
00239 const char *oval_operator_get_text(oval_operator_t);
00240 const char *oval_subtype_get_text(oval_subtype_t);
00241 const char *oval_family_get_text(oval_family_t);
00242 const char *oval_check_get_text(oval_check_t);
00243 const char *oval_existence_get_text(oval_existence_t);
00244 const char *oval_affected_family_get_text(oval_affected_family_t);
00245 const char *oval_datatype_get_text(oval_datatype_t);
00246 const char *oval_operation_get_text(oval_operation_t);
00247 const char *oval_set_operation_get_text(oval_setobject_operation_t);
00248 const char *oval_datetime_format_get_text(oval_datetime_format_t);
00249 const char *oval_arithmetic_operation_get_text(oval_arithmetic_operation_t);
00250 
00251 
00256 struct oval_definition_model;
00257 
00264 struct oval_definition;
00269 struct oval_definition_iterator;
00275 struct oval_test;
00280 struct oval_test_iterator;
00289 struct oval_object;
00294 struct oval_object_iterator;
00301 struct oval_state;
00306 struct oval_state_iterator;
00321 struct oval_variable;
00326 struct oval_variable_iterator;
00347 struct oval_affected;
00352 struct oval_affected_iterator;
00360 struct oval_reference;
00365 struct oval_reference_iterator;
00374 struct oval_criteria_node;
00379 struct oval_criteria_node_iterator;
00384 struct oval_object_content;
00389 struct oval_object_content_iterator;
00394 struct oval_behavior;
00399 struct oval_behavior_iterator;
00404 struct oval_state_content;
00409 struct oval_state_content_iterator;
00414 struct oval_value;
00419 struct oval_value_iterator;
00424 struct oval_entity;
00428 struct oval_entity_iterator;
00433 struct oval_setobject;
00438 struct oval_setobject_iterator;
00443 struct oval_filter;
00447 struct oval_filter_iterator;
00545 struct oval_component;
00550 struct oval_component_iterator;
00560 struct oval_string_iterator;
00561 
00565 struct oval_generator;
00566 
00567 struct oval_generator *oval_generator_new(void);
00568 void oval_generator_free(struct oval_generator *generator);
00569 struct oval_generator *oval_genrator_clone(struct oval_generator *old_generator);
00570 char *oval_generator_get_product_name(struct oval_generator *generator);
00571 char *oval_generator_get_product_version(struct oval_generator *generator);
00572 char *oval_generator_get_schema_version(struct oval_generator *generator);
00573 char *oval_generator_get_timestamp(struct oval_generator *generator);
00574 bool oval_generator_is_valid(struct oval_generator *generator);
00575 void oval_generator_set_product_name(struct oval_generator *generator, char *product_name);
00576 void oval_generator_set_product_version(struct oval_generator *generator, char *product_version);
00577 void oval_generator_set_schema_version(struct oval_generator *generator, char *schema_version);
00578 void oval_generator_set_timestamp(struct oval_generator *generator, char *timestamp);
00579 
00584 struct oval_definition_model *oval_definition_model_new(void);
00591 struct oval_definition_model * oval_definition_model_import(const char *file);
00592 
00601 int oval_definition_model_merge(struct oval_definition_model *model, const char *file);
00602 
00608 struct oval_definition_model *oval_definition_model_clone(struct oval_definition_model *);
00614 int oval_definition_model_export(struct oval_definition_model *, const char *file);
00619 void oval_definition_model_free(struct oval_definition_model *model);
00620 
00625 void oval_definition_model_set_generator(struct oval_definition_model *model, struct oval_generator *generator);
00631 int oval_definition_model_bind_variable_model(struct oval_definition_model *, struct oval_variable_model *);
00632 
00633 void oval_definition_model_clear_external_variables(struct oval_definition_model *);
00640 void oval_definition_model_lock(struct oval_definition_model *definition_model);
00647 struct oval_generator *oval_definition_model_get_generator(struct oval_definition_model *model);
00655 struct oval_definition *oval_definition_model_get_definition(struct oval_definition_model *, const char *id);
00664 struct oval_test *oval_definition_model_get_test(struct oval_definition_model *model, const char *id);
00673 struct oval_object *oval_definition_model_get_object(struct oval_definition_model *model, const char *id);
00682 struct oval_state *oval_definition_model_get_state(struct oval_definition_model *model, const char *id);
00691 struct oval_variable *oval_definition_model_get_variable(struct oval_definition_model *model, const char *id);
00696 struct oval_definition_iterator *oval_definition_model_get_definitions(struct oval_definition_model *model);
00703 struct oval_test_iterator *oval_definition_model_get_tests(struct oval_definition_model *model);
00710 struct oval_object_iterator *oval_definition_model_get_objects(struct oval_definition_model *model);
00717 struct oval_state_iterator *oval_definition_model_get_states(struct oval_definition_model *model);
00724 struct oval_variable_iterator *oval_definition_model_get_variables(struct oval_definition_model *model);
00730 bool oval_definition_model_is_locked(struct oval_definition_model *definition_model);
00731 
00737 const char * oval_definition_model_supported(void);
00754 bool oval_definition_model_is_valid(struct oval_definition_model *definition_model);
00773 struct oval_definition *oval_definition_new(struct oval_definition_model *, const char *id);
00774 
00780 struct oval_definition *oval_definition_clone(struct oval_definition_model *new_model, struct oval_definition *old_definition);
00781 
00791 void oval_definition_free(struct oval_definition *);
00792 
00804 void oval_definition_set_version(struct oval_definition *, int version);
00812 void oval_definition_set_class(struct oval_definition *, oval_definition_class_t);
00818 void oval_definition_set_deprecated(struct oval_definition *, bool deprecated);
00826 void oval_definition_set_title(struct oval_definition *, char *title);
00834 void oval_definition_set_description(struct oval_definition *, char *description);
00845 void oval_definition_add_affected(struct oval_definition *, struct oval_affected *affected);
00856 void oval_definition_add_reference(struct oval_definition *, struct oval_reference *reference);
00862 void oval_definition_add_note(struct oval_definition *, char *note);
00876 void oval_definition_set_criteria(struct oval_definition *, struct oval_criteria_node *criteria);
00887 char *oval_definition_get_id(struct oval_definition *);
00893 int oval_definition_get_version(struct oval_definition *);
00898 oval_definition_class_t oval_definition_get_class(struct oval_definition *);
00903 bool oval_definition_get_deprecated(struct oval_definition *);
00909 char *oval_definition_get_title(struct oval_definition *);
00915 char *oval_definition_get_description(struct oval_definition *);
00922 struct oval_affected_iterator *oval_definition_get_affected(struct oval_definition *);
00929 struct oval_reference_iterator *oval_definition_get_references(struct oval_definition *);
00936 struct oval_string_iterator *oval_definition_get_notes(struct oval_definition *);
00942 struct oval_criteria_node *oval_definition_get_criteria(struct oval_definition *);
00948 bool oval_definition_is_locked(struct oval_definition *definition);
00949 
00962 bool oval_definition_is_valid(struct oval_definition *definition);
00973 bool oval_definition_iterator_has_more(struct oval_definition_iterator *);
00979 struct oval_definition *oval_definition_iterator_next(struct oval_definition_iterator *);
00984 void oval_definition_iterator_free(struct oval_definition_iterator *);
01007 struct oval_test *oval_test_new(struct oval_definition_model *, const char *id);
01013 struct oval_test *oval_test_clone(struct oval_definition_model *new_model, struct oval_test *old_test);
01018 void oval_test_free(struct oval_test *);
01019 
01033 void oval_test_set_subtype(struct oval_test *, oval_subtype_t subtype);
01039 void oval_test_add_note(struct oval_test *, char *note);
01045 void oval_test_set_comment(struct oval_test *, char *comment);
01050 void oval_test_set_deprecated(struct oval_test *, bool deprecated);
01059 void oval_test_set_version(struct oval_test *, int version);
01068 void oval_test_set_existence(struct oval_test *, oval_existence_t);
01078 void oval_test_set_check(struct oval_test *, oval_check_t);
01087 void oval_test_set_object(struct oval_test *, struct oval_object *);
01096 void oval_test_set_state(struct oval_test *, struct oval_state *state);
01107 oval_family_t oval_test_get_family(struct oval_test *);
01112 oval_subtype_t oval_test_get_subtype(struct oval_test *);
01119 struct oval_string_iterator *oval_test_get_notes(struct oval_test *);
01125 char *oval_test_get_comment(struct oval_test *);
01131 char *oval_test_get_id(struct oval_test *);
01136 bool oval_test_get_deprecated(struct oval_test *);
01141 int oval_test_get_version(struct oval_test *);
01146 oval_existence_t oval_test_get_existence(struct oval_test *);
01151 oval_check_t oval_test_get_check(struct oval_test *);
01157 struct oval_object *oval_test_get_object(struct oval_test *);
01163 struct oval_state *oval_test_get_state(struct oval_test *);
01169 bool oval_test_is_locked(struct oval_test *test);
01170 
01186 bool oval_test_is_valid(struct oval_test *);
01197 bool oval_test_iterator_has_more(struct oval_test_iterator *);
01202 struct oval_test *oval_test_iterator_next(struct oval_test_iterator *);
01207 void oval_test_iterator_free(struct oval_test_iterator *);
01228 struct oval_object *oval_object_new(struct oval_definition_model *, const char *id);
01234 struct oval_object *oval_object_clone(struct oval_definition_model *new_model, struct oval_object *old_object);
01239 void oval_object_free(struct oval_object *);
01240 
01254 void oval_object_set_subtype(struct oval_object *, oval_subtype_t subtype);
01260 void oval_object_add_note(struct oval_object *, char *note);
01261 
01267 void oval_object_set_comment(struct oval_object *, char *comment);
01268 
01273 void oval_object_set_deprecated(struct oval_object *, bool deprecated);
01282 void oval_object_set_version(struct oval_object *, int version);
01295 void oval_object_add_object_content(struct oval_object *, struct oval_object_content *content);
01308 void oval_object_add_behavior(struct oval_object *, struct oval_behavior *behavior);
01319 oval_family_t oval_object_get_family(struct oval_object *);
01325 const char *oval_object_get_name(struct oval_object *);
01330 oval_subtype_t oval_object_get_subtype(struct oval_object *);
01337 struct oval_string_iterator *oval_object_get_notes(struct oval_object *);
01343 char *oval_object_get_comment(struct oval_object *);
01349 char *oval_object_get_id(struct oval_object *);
01350 
01355 bool oval_object_get_deprecated(struct oval_object *);
01360 int oval_object_get_version(struct oval_object *);
01367 struct oval_object_content_iterator *oval_object_get_object_contents(struct oval_object *);
01374 struct oval_behavior_iterator *oval_object_get_behaviors(struct oval_object *);
01380 bool oval_object_is_locked(struct oval_object *object);
01394 bool oval_object_is_valid(struct oval_object *object);
01405 bool oval_object_iterator_has_more(struct oval_object_iterator *);
01410 struct oval_object *oval_object_iterator_next(struct oval_object_iterator *);
01415 void oval_object_iterator_free(struct oval_object_iterator *);
01436 struct oval_state *oval_state_new(struct oval_definition_model *, const char *id);
01442 struct oval_state *oval_state_clone(struct oval_definition_model *new_model, struct oval_state *old_state);
01447 void oval_state_free(struct oval_state *);
01448 
01462 void oval_state_set_subtype(struct oval_state *, oval_subtype_t subtype);
01468 void oval_state_add_note(struct oval_state *, char *note);
01474 void oval_state_set_comment(struct oval_state *, char *comment);
01479 void oval_state_set_deprecated(struct oval_state *, bool deprecated);
01488 void oval_state_set_version(struct oval_state *, int version);
01493 void oval_state_set_operator(struct oval_state *, oval_operator_t);
01506 void oval_state_add_content(struct oval_state *, struct oval_state_content *content);
01517 oval_family_t oval_state_get_family(struct oval_state *);
01523 const char *oval_state_get_name(struct oval_state *);
01528 oval_subtype_t oval_state_get_subtype(struct oval_state *);
01535 struct oval_string_iterator *oval_state_get_notes(struct oval_state *);
01541 char *oval_state_get_comment(struct oval_state *);
01547 char *oval_state_get_id(struct oval_state *);
01552 bool oval_state_get_deprecated(struct oval_state *);
01557 int oval_state_get_version(struct oval_state *);
01562 int oval_state_get_operator(struct oval_state *);
01569 struct oval_state_content_iterator *oval_state_get_contents(struct oval_state *);
01575 bool oval_state_is_locked(struct oval_state *state);
01586 bool oval_state_iterator_has_more(struct oval_state_iterator *);
01591 struct oval_state *oval_state_iterator_next(struct oval_state_iterator *);
01596 void oval_state_iterator_free(struct oval_state_iterator *);
01609 bool oval_state_is_valid(struct oval_state *state);
01636 struct oval_variable *oval_variable_new(struct oval_definition_model *model, const char *id, oval_variable_type_t type);
01642 struct oval_variable *oval_variable_clone(struct oval_definition_model *new_model, struct oval_variable *old_variable);
01647 void oval_variable_free(struct oval_variable *);
01648 
01660 void oval_variable_set_comment(struct oval_variable *, char *comment);
01668 void oval_variable_set_version(struct oval_variable *, int version);
01674 void oval_variable_set_deprecated(struct oval_variable *, bool deprecated);
01682 void oval_variable_set_datatype(struct oval_variable *, oval_datatype_t);
01696 void oval_variable_add_value(struct oval_variable *, struct oval_value *);      //type==OVAL_VARIABLE_CONSTANT
01697 
01698 void oval_variable_clear_values(struct oval_variable *);
01711 void oval_variable_set_component(struct oval_variable *, struct oval_component *component);     //type==OVAL_VARIABLE_LOCAL
01723 char *oval_variable_get_id(struct oval_variable *);
01729 char *oval_variable_get_comment(struct oval_variable *);
01734 int oval_variable_get_version(struct oval_variable *);
01739 bool oval_variable_get_deprecated(struct oval_variable *);
01744 oval_variable_type_t oval_variable_get_type(struct oval_variable *);
01749 oval_datatype_t oval_variable_get_datatype(struct oval_variable *);
01757 struct oval_value_iterator *oval_variable_get_values(struct oval_variable *);   //type==OVAL_VARIABLE_CONSTANT
01764 struct oval_component *oval_variable_get_component(struct oval_variable *);     //type==OVAL_VARIABLE_LOCAL
01769 const char *oval_component_type_get_text(oval_component_type_t type);
01775 bool oval_variable_is_locked(struct oval_variable *variable);
01786 bool oval_variable_iterator_has_more(struct oval_variable_iterator *);
01791 struct oval_variable *oval_variable_iterator_next(struct oval_variable_iterator *);
01796 void oval_variable_iterator_free(struct oval_variable_iterator *);
01817 bool oval_variable_is_valid(struct oval_variable *);
01824 struct oval_affected *oval_affected_new(struct oval_definition_model *);
01830 struct oval_affected *oval_affected_clone(struct oval_definition_model *new_model, struct oval_affected *old_affected);
01835 void oval_affected_free(struct oval_affected *);
01836 
01845 void oval_affected_set_family(struct oval_affected *, oval_affected_family_t family);
01850 void oval_affected_add_platform(struct oval_affected *, char *platform_name);
01855 void oval_affected_add_product(struct oval_affected *, char *product_name);
01868 oval_affected_family_t oval_affected_get_family(struct oval_affected *);
01876 struct oval_string_iterator *oval_affected_get_platforms(struct oval_affected *);
01884 struct oval_string_iterator *oval_affected_get_products(struct oval_affected *);
01890 bool oval_affected_is_locked(struct oval_affected *);
01901 bool oval_affected_is_valid(struct oval_affected *);
01912 bool oval_affected_iterator_has_more(struct oval_affected_iterator *);
01917 struct oval_affected *oval_affected_iterator_next(struct oval_affected_iterator *);
01922 void oval_affected_iterator_free(struct oval_affected_iterator *);
01928 struct oval_reference *oval_reference_new(struct oval_definition_model *);
01933 struct oval_reference *oval_reference_clone
01934     (struct oval_definition_model *new_model, struct oval_reference *old_reference);
01938 void oval_reference_free(struct oval_reference *);
01939 
01949 void oval_reference_set_source(struct oval_reference *, char *);
01953 void oval_reference_set_id(struct oval_reference *, char *);
01957 void oval_reference_set_url(struct oval_reference *, char *);
01969 char *oval_reference_get_source(struct oval_reference *);
01975 char *oval_reference_get_id(struct oval_reference *);
01981 char *oval_reference_get_url(struct oval_reference *);
01987 bool oval_reference_is_locked(struct oval_reference *reference);
01997 bool oval_reference_iterator_has_more(struct oval_reference_iterator *);
02001 struct oval_reference *oval_reference_iterator_next(struct oval_reference_iterator *);
02005 void oval_reference_iterator_free(struct oval_reference_iterator *);
02016 bool oval_reference_is_valid(struct oval_reference *reference);
02039 struct oval_criteria_node *oval_criteria_node_new(struct oval_definition_model *, oval_criteria_node_type_t type);
02045 struct oval_criteria_node *oval_criteria_node_clone
02046     (struct oval_definition_model *new_model, struct oval_criteria_node *old_node);
02051 void oval_criteria_node_free(struct oval_criteria_node *);
02052 
02062 void oval_criteria_node_set_negate(struct oval_criteria_node *, bool negate);
02068 void oval_criteria_set_node_type(struct oval_criteria_node *node, oval_criteria_node_type_t type);
02074 void oval_criteria_node_set_comment(struct oval_criteria_node *, char *comment);
02082 void oval_criteria_node_set_operator(struct oval_criteria_node *, oval_operator_t op);
02093 void oval_criteria_node_add_subnode(struct oval_criteria_node *, struct oval_criteria_node *node);
02101 void oval_criteria_node_set_test(struct oval_criteria_node *, struct oval_test *);
02109 void oval_criteria_node_set_definition(struct oval_criteria_node *, struct oval_definition *);  //type==NODETYPE_EXTENDDEF
02120 oval_criteria_node_type_t oval_criteria_node_get_type(struct oval_criteria_node *);
02125 bool oval_criteria_node_get_negate(struct oval_criteria_node *);
02131 char *oval_criteria_node_get_comment(struct oval_criteria_node *);
02137 oval_operator_t oval_criteria_node_get_operator(struct oval_criteria_node *);
02145 struct oval_criteria_node_iterator *oval_criteria_node_get_subnodes(struct oval_criteria_node *);
02152 struct oval_test *oval_criteria_node_get_test(struct oval_criteria_node *);
02159 struct oval_definition *oval_criteria_node_get_definition(struct oval_criteria_node *);
02165 bool oval_criteria_node_is_locked(struct oval_criteria_node *);
02176 bool oval_criteria_node_iterator_has_more(struct oval_criteria_node_iterator *);
02182 struct oval_criteria_node *oval_criteria_node_iterator_next(struct oval_criteria_node_iterator *);
02187 void oval_criteria_node_iterator_free(struct oval_criteria_node_iterator *);
02206 bool oval_criteria_node_is_valid(struct oval_criteria_node *);
02212 struct oval_object_content *oval_object_content_new(struct oval_definition_model *model, oval_object_content_type_t type);
02213 
02218 struct oval_object_content *oval_object_content_clone
02219     (struct oval_definition_model *new_model, struct oval_object_content *old_content);
02220 
02224 void oval_object_content_free(struct oval_object_content *);
02225 
02234 void oval_object_content_set_type(struct oval_object_content *, oval_object_content_type_t);
02238 void oval_object_content_set_field_name(struct oval_object_content *, char *);
02242 void oval_object_content_set_entity(struct oval_object_content *, struct oval_entity *);        //type == OVAL_OBJECTCONTENT_ENTITY
02246 void oval_object_content_set_varCheck(struct oval_object_content *, oval_check_t);      //type == OVAL_OBJECTCONTENT_ENTITY
02250 void oval_object_content_set_setobject(struct oval_object_content *, struct oval_setobject *);  //type == OVAL_OBJECTCONTENT_SET
02262 char *oval_object_content_get_field_name(struct oval_object_content *);
02267 oval_object_content_type_t oval_object_content_get_type(struct oval_object_content *);
02273 struct oval_entity *oval_object_content_get_entity(struct oval_object_content *);       //type == OVAL_OBJECTCONTENT_ENTITY
02278 oval_check_t oval_object_content_get_varCheck(struct oval_object_content *);    //type == OVAL_OBJECTCONTENT_ENTITY
02284 struct oval_setobject *oval_object_content_get_setobject(struct oval_object_content *); //type == OVAL_OBJECTCONTENT_SET
02290 bool oval_object_content_is_locked(struct oval_object_content *object_content);
02300 bool oval_object_content_iterator_has_more(struct oval_object_content_iterator *);
02304 struct oval_object_content *oval_object_content_iterator_next(struct oval_object_content_iterator *);
02308 void oval_object_content_iterator_free(struct oval_object_content_iterator *);
02324 bool oval_object_content_is_valid(struct oval_object_content *object_content);
02330 struct oval_behavior *oval_behavior_new(struct oval_definition_model *);
02331 
02336 struct oval_behavior *oval_behavior_clone(struct oval_definition_model *new_model, struct oval_behavior *old_behavior);
02340 void oval_behavior_free(struct oval_behavior *);
02341 
02349 void oval_behavior_set_keyval(struct oval_behavior *behavior, const char *key, const char *value);
02361 char *oval_behavior_get_key(struct oval_behavior *);
02367 char *oval_behavior_get_value(struct oval_behavior *);
02373 bool oval_behavior_is_locked(struct oval_behavior *behavior);
02383 bool oval_behavior_iterator_has_more(struct oval_behavior_iterator *);
02387 struct oval_behavior *oval_behavior_iterator_next(struct oval_behavior_iterator *);
02391 void oval_behavior_iterator_free(struct oval_behavior_iterator *);
02402 bool oval_behavior_is_valid(struct oval_behavior *behavior);
02408 struct oval_state_content *oval_state_content_new(struct oval_definition_model *);
02413 struct oval_state_content *oval_state_content_clone (struct oval_definition_model *new_model, struct oval_state_content *old_content);
02417 void oval_state_content_free(struct oval_state_content *);
02418 
02426 void oval_state_content_set_entity(struct oval_state_content *, struct oval_entity *);
02430 void oval_state_content_set_varcheck(struct oval_state_content *, oval_check_t);
02434 void oval_state_content_set_entcheck(struct oval_state_content *, oval_check_t);
02446 struct oval_entity *oval_state_content_get_entity(struct oval_state_content *);
02451 oval_check_t oval_state_content_get_var_check(struct oval_state_content *);
02456 oval_check_t oval_state_content_get_ent_check(struct oval_state_content *);
02462 bool oval_state_content_is_locked(struct oval_state_content *);
02473 bool oval_state_content_iterator_has_more(struct oval_state_content_iterator *);
02477 struct oval_state_content *oval_state_content_iterator_next(struct oval_state_content_iterator *);
02481 void oval_state_content_iterator_free(struct oval_state_content_iterator *);
02487 struct oval_value *oval_value_new(oval_datatype_t datatype, char *text_value);
02492 struct oval_value *oval_value_clone(struct oval_value *old_value);
02496 void oval_value_free(struct oval_value *);
02497 
02506 oval_datatype_t oval_value_get_datatype(struct oval_value *);
02512 char *oval_value_get_text(struct oval_value *);
02517 unsigned char *oval_value_get_binary(struct oval_value *);      //datatype==OVAL_DATATYPE_BINARY
02522 bool oval_value_get_boolean(struct oval_value *);       //datatype==OVAL_DATATYPE_BOOLEAN
02527 float oval_value_get_float(struct oval_value *);        //datatype==OVAL_DATATYPE_FLOAT
02532 long oval_value_get_integer(struct oval_value *);       //datatype==OVAL_DATATYPE_INTEGER
02538 bool oval_value_is_locked(struct oval_value *value);
02548 bool oval_value_iterator_has_more(struct oval_value_iterator *);
02552 struct oval_value *oval_value_iterator_next(struct oval_value_iterator *);
02556 int oval_value_iterator_remaining(struct oval_value_iterator *iterator);
02560 void oval_value_iterator_free(struct oval_value_iterator *);
02571 bool oval_value_is_valid(struct oval_value *value);
02577 struct oval_entity *oval_entity_new(struct oval_definition_model *);
02582 struct oval_entity *oval_entity_clone(struct oval_definition_model *model, struct oval_entity *old_entity);
02586 void oval_entity_free(struct oval_entity *);
02587 
02595 void oval_entity_set_type(struct oval_entity *, oval_entity_type_t);
02599 void oval_entity_set_datatype(struct oval_entity *, oval_datatype_t);
02603 void oval_entity_set_mask(struct oval_entity *, int);
02607 void oval_entity_set_varref_type(struct oval_entity *, oval_entity_varref_type_t);
02611 void oval_entity_set_variable(struct oval_entity *, struct oval_variable *);
02615 void oval_entity_set_value(struct oval_entity *, struct oval_value *);
02619 void oval_entity_set_name(struct oval_entity *, char *);
02623 void oval_entity_set_operation(struct oval_entity *, oval_operation_t);
02635 char *oval_entity_get_name(struct oval_entity *);
02640 oval_entity_type_t oval_entity_get_type(struct oval_entity *);
02645 oval_datatype_t oval_entity_get_datatype(struct oval_entity *);
02650 oval_operation_t oval_entity_get_operation(struct oval_entity *);
02656 struct oval_variable *oval_entity_get_variable(struct oval_entity *);
02662 struct oval_value *oval_entity_get_value(struct oval_entity *);
02667 int oval_entity_get_mask(struct oval_entity *);
02672 oval_entity_varref_type_t oval_entity_get_varref_type(struct oval_entity *);
02678 bool oval_entity_is_locked(struct oval_entity *entity);
02688 bool oval_entity_iterator_has_more(struct oval_entity_iterator *);
02692 struct oval_entity *oval_entity_iterator_next(struct oval_entity_iterator *);
02696 void oval_entity_iterator_free(struct oval_entity_iterator *);
02707 bool oval_entity_is_valid(struct oval_entity *entity);
02713 struct oval_filter *oval_filter_new(struct oval_definition_model *);
02717 void oval_filter_free(struct oval_filter *);
02721 struct oval_filter *oval_filter_clone(struct oval_definition_model *, struct oval_filter *);
02722 
02730 void oval_filter_set_state(struct oval_filter *, struct oval_state *);
02734 void oval_filter_set_filter_action(struct oval_filter *, oval_filter_action_t );
02744 bool oval_filter_is_locked(struct oval_filter *);
02748 struct oval_state *oval_filter_get_state(struct oval_filter *);
02752 oval_filter_action_t oval_filter_get_filter_action(struct oval_filter *);
02762 bool oval_filter_iterator_has_more(struct oval_filter_iterator *);
02766 struct oval_filter *oval_filter_iterator_next(struct oval_filter_iterator *);
02770 void oval_filter_iterator_free(struct oval_filter_iterator *);
02780 bool oval_filter_is_valid(struct oval_filter *);
02786 struct oval_setobject *oval_setobject_new(struct oval_definition_model *);
02791 struct oval_setobject *oval_setobject_clone(struct oval_definition_model *new_model, struct oval_setobject *old_setobject);
02795 void oval_setobject_free(struct oval_setobject *);
02796 
02803 void oval_setobject_set_type(struct oval_setobject *, oval_setobject_type_t);
02807 void oval_setobject_set_operation(struct oval_setobject *, oval_setobject_operation_t);
02811 void oval_setobject_add_subset(struct oval_setobject *, struct oval_setobject *);       //type==OVAL_SET_AGGREGATE;
02815 void oval_setobject_add_object(struct oval_setobject *, struct oval_object *);  //type==OVAL_SET_COLLECTIVE;
02819 void oval_setobject_add_filter(struct oval_setobject *, struct oval_filter *);  //type==OVAL_SET_COLLECTIVE;
02830 oval_setobject_type_t oval_setobject_get_type(struct oval_setobject *);
02835 oval_setobject_operation_t oval_setobject_get_operation(struct oval_setobject *);
02843 struct oval_setobject_iterator *oval_setobject_get_subsets(struct oval_setobject *);    //type==OVAL_SET_AGGREGATE;
02851 struct oval_object_iterator *oval_setobject_get_objects(struct oval_setobject *);       //type==OVAL_SET_COLLECTIVE;
02859 struct oval_filter_iterator *oval_setobject_get_filters(struct oval_setobject *);       //type==OVAL_SET_COLLECTIVE;
02865 bool oval_setobject_is_locked(struct oval_setobject *setobject);
02875 bool oval_setobject_iterator_has_more(struct oval_setobject_iterator *);
02879 struct oval_setobject *oval_setobject_iterator_next(struct oval_setobject_iterator *);
02883 void oval_setobject_iterator_free(struct oval_setobject_iterator *);
02903 bool oval_setobject_is_valid(struct oval_setobject *setobject);
02947 struct oval_component *oval_component_new(struct oval_definition_model *, oval_component_type_t type);
02953 struct oval_component *oval_component_clone(struct oval_definition_model *new_model,
02954                                             struct oval_component *old_component);
02959 void oval_component_free(struct oval_component *);
02960 
02969 void oval_component_set_type(struct oval_component *component, oval_component_type_t type);
02975 void oval_component_set_object(struct oval_component *, struct oval_object *object);
02982 void oval_component_set_object_field(struct oval_component *, char *field);
02988 void oval_component_set_variable(struct oval_component *, struct oval_variable *variable);
02995 void oval_component_add_function_component(struct oval_component *, struct oval_component *);   //type==OVAL_COMPONENT_FUNCTION
02999 void oval_component_set_arithmetic_operation(struct oval_component *, oval_arithmetic_operation_t);     //type==OVAL_COMPONENT_ARITHMETIC
03003 void oval_component_set_prefix(struct oval_component *, char *);        //type==OVAL_COMPONENT_BEGIN
03007 void oval_component_set_suffix(struct oval_component *, char *);        //type==OVAL_COMPONENT_END
03011 void oval_component_set_split_delimiter(struct oval_component *, char *);       //type==OVAL_COMPONENT_SPLIT
03015 void oval_component_set_substring_start(struct oval_component *, int);  //type==OVAL_COMPONENT_SUBSTRING
03019 void oval_component_set_substring_length(struct oval_component *, int); //type==OVAL_COMPONENT_SUBSTRING
03023 void oval_component_set_timedif_format_1(struct oval_component *, oval_datetime_format_t);      //type==OVAL_COMPONENT_TIMEDIF
03027 void oval_component_set_timedif_format_2(struct oval_component *, oval_datetime_format_t);      //type==OVAL_COMPONENT_TIMEDIF
03031 void oval_component_set_regex_pattern(struct oval_component *, char *); //type==OVAL_COMPONENT_REGEX_CAPTURE
03035 void oval_component_set_literal_value(struct oval_component *, struct oval_value *);    //type==OVAL_COMPONENT_LITERAL
03046 oval_component_type_t oval_component_get_type(struct oval_component *);
03054 struct oval_object *oval_component_get_object(struct oval_component *); //type==OVAL_COMPONENT_OBJECTREF
03062 char *oval_component_get_object_field(struct oval_component *);
03070 struct oval_variable *oval_component_get_variable(struct oval_component *);
03078 struct oval_component_iterator *oval_component_get_function_components(struct oval_component *);        //type==OVAL_COMPONENT_FUNCTION
03084 oval_arithmetic_operation_t oval_component_get_arithmetic_operation(struct oval_component *);   //type==OVAL_COMPONENT_ARITHMETIC
03092 char *oval_component_get_prefix(struct oval_component *);       //type==OVAL_COMPONENT_BEGIN
03100 char *oval_component_get_suffix(struct oval_component *);       //type==OVAL_COMPONENT_END
03108 char *oval_component_get_split_delimiter(struct oval_component *);      //type==OVAL_COMPONENT_SPLIT
03114 int oval_component_get_substring_start(struct oval_component *);        //type==OVAL_COMPONENT_SUBSTRING
03120 int oval_component_get_substring_length(struct oval_component *);       //type==OVAL_COMPONENT_SUBSTRING
03126 oval_datetime_format_t oval_component_get_timedif_format_1(struct oval_component *);    //type==OVAL_COMPONENT_TIMEDIF
03132 oval_datetime_format_t oval_component_get_timedif_format_2(struct oval_component *);    //type==OVAL_COMPONENT_TIMEDIF
03140 char *oval_component_get_regex_pattern(struct oval_component *);        //type==OVAL_COMPONENT_REGEX_CAPTURE
03148 struct oval_value *oval_component_get_literal_value(struct oval_component *);   //type==OVAL_COMPONENT_LITERAL
03154 bool oval_component_is_locked(struct oval_component *component);
03165 bool oval_component_iterator_has_more(struct oval_component_iterator *);
03171 struct oval_component *oval_component_iterator_next(struct oval_component_iterator *);
03176 void oval_component_iterator_free(struct oval_component_iterator *);
03181 int oval_component_iterator_remaining(struct oval_component_iterator *);
03236 bool oval_component_is_valid(struct oval_component *);
03247 bool oval_string_iterator_has_more(struct oval_string_iterator *);
03252 char *oval_string_iterator_next(struct oval_string_iterator *);
03257 int oval_string_iterator_remaining(struct oval_string_iterator *);
03262 void oval_string_iterator_free(struct oval_string_iterator *);
03269 #endif

Generated on Thu Dec 9 2010 for Open SCAP Library by  doxygen 1.7.1