00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00048 #ifndef OVAL_DEFINITIONS
00049 #define OVAL_DEFINITIONS
00050
00051 #include <stdbool.h>
00052
00054 typedef enum {
00059 OVAL_FAMILY_UNKNOWN = 0,
00064 OVAL_FAMILY_AIX = 1000,
00069 OVAL_FAMILY_APACHE = 2000,
00074 OVAL_FAMILY_CATOS = 3000,
00079 OVAL_FAMILY_ESX = 4000,
00084 OVAL_FAMILY_FREEBSD = 5000,
00089 OVAL_FAMILY_HPUX = 6000,
00094 OVAL_FAMILY_INDEPENDENT = 7000,
00099 OVAL_FAMILY_IOS = 8000,
00104 OVAL_FAMILY_LINUX = 9000,
00109 OVAL_FAMILY_MACOS = 10000,
00114 OVAL_FAMILY_PIXOS = 11000,
00119 OVAL_FAMILY_SOLARIS = 12000,
00124 OVAL_FAMILY_UNIX = 13000,
00129 OVAL_FAMILY_WINDOWS = 14000
00130 } oval_family_t;
00131
00133 typedef enum {
00134 OVAL_SUBTYPE_UNKNOWN = 0
00135 } oval_subtype_t;
00136
00138 typedef enum {
00139 OVAL_AIX_FILESET = 1001,
00140 OVAL_AIX_FIX = OVAL_FAMILY_AIX + 2,
00141 OVAL_AIX_OSLEVEL = OVAL_FAMILY_AIX + 3
00142 } oval_aix_subtype_t;
00143
00145 typedef enum {
00146 OVAL_APACHE_HTTPD = OVAL_FAMILY_APACHE + 1,
00147 OVAL_APACHE_VERSION = OVAL_FAMILY_APACHE + 2
00148 } oval_apache_subtype_t;
00149
00151 typedef enum {
00152 OVAL_CATOS_LINE = OVAL_FAMILY_CATOS + 1,
00153 OVAL_CATOS_MODULE = OVAL_FAMILY_CATOS + 2,
00154 OVAL_CATOS_VERSION_55 = OVAL_FAMILY_CATOS + 3,
00155 OVAL_CATOS_VERSION = OVAL_FAMILY_CATOS + 4
00156 } oval_catos_subtype_t;
00157
00159 typedef enum {
00160 OVAL_ESX_PATCH = OVAL_FAMILY_ESX + 1,
00161 OVAL_ESX_VERSION = OVAL_FAMILY_ESX + 2
00162 } oval_esx_subtype_t;
00163
00165 typedef enum {
00166 OVAL_FREEBSD_PORT_INFO = OVAL_FAMILY_FREEBSD + 1
00167 } oval_freebsd_subtype_t;
00168
00170 typedef enum {
00171 OVAL_HPUX_GETCONF = OVAL_FAMILY_HPUX + 1,
00172 OVAL_HPUX_PATCH_53 = OVAL_FAMILY_HPUX + 2,
00173 OVAL_HPUX_PATCH = OVAL_FAMILY_HPUX + 3,
00174 OVAL_HPUX_SOFTWARE_LIST = OVAL_FAMILY_HPUX + 4,
00175 OVAL_HPUX_TRUSTED_ACCOUNTS = OVAL_FAMILY_HPUX + 5
00176 } oval_hpux_subtype_t;
00177
00179 typedef enum {
00180 OVAL_INDEPENDENT_FAMILY = OVAL_FAMILY_INDEPENDENT + 1,
00181 OVAL_INDEPENDENT_FILE_MD5 = OVAL_FAMILY_INDEPENDENT + 2,
00182 OVAL_INDEPENDENT_FILE_HASH = OVAL_FAMILY_INDEPENDENT + 3,
00183 OVAL_INDEPENDENT_ENVIRONMENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 4,
00184 OVAL_INDEPENDENT_SQL = OVAL_FAMILY_INDEPENDENT + 5,
00185 OVAL_INDEPENDENT_TEXT_FILE_CONTENT_54 = OVAL_FAMILY_INDEPENDENT + 6,
00186 OVAL_INDEPENDENT_TEXT_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 7,
00187 OVAL_INDEPENDENT_UNKNOWN = OVAL_FAMILY_INDEPENDENT + 8,
00188 OVAL_INDEPENDENT_VARIABLE = OVAL_FAMILY_INDEPENDENT + 9,
00189 OVAL_INDEPENDENT_XML_FILE_CONTENT = OVAL_FAMILY_INDEPENDENT + 10
00190 } oval_independent_subtype_t;
00191
00193 typedef enum {
00194 OVAL_IOS_GLOBAL = OVAL_FAMILY_IOS + 1,
00195 OVAL_IOS_INTERFACE = OVAL_FAMILY_IOS + 2,
00196 OVAL_IOS_LINE = OVAL_FAMILY_IOS + 3,
00197 OVAL_IOS_SNMP = OVAL_FAMILY_IOS + 4,
00198 OVAL_IOS_TCLSH = OVAL_FAMILY_IOS + 5,
00199 OVAL_IOS_VERSION_55 = OVAL_FAMILY_IOS + 6
00200 } oval_ios_subtype_t;
00201
00203 typedef enum {
00204 OVAL_LINUX_DPKG_INFO = OVAL_FAMILY_LINUX + 1,
00205 OVAL_LINUX_INET_LISTENING_SERVERS = OVAL_FAMILY_LINUX + 2,
00206 OVAL_LINUX_RPM_INFO = OVAL_FAMILY_LINUX + 3,
00207 OVAL_LINUX_SLACKWARE_PKG_INFO_TEST = OVAL_FAMILY_LINUX + 4
00208 } oval_linux_subtype_t;
00209
00211 typedef enum {
00212 OVAL_MACOS_ACCOUNT_INFO = OVAL_FAMILY_MACOS + 1,
00213 OVAL_MACOS_INET_LISTENING_SERVERS = OVAL_FAMILY_MACOS + 2,
00214 OVAL_MACOS_NVRAM_INFO = OVAL_FAMILY_MACOS + 3,
00215 OVAL_MACOS_PWPOLICY = OVAL_FAMILY_MACOS + 4
00216 } oval_macos_subtype_t;
00217
00219 typedef enum {
00220 OVAL_PIXOS_LINE = OVAL_FAMILY_PIXOS + 1,
00221 OVAL_PIXOS_VERSION = OVAL_FAMILY_PIXOS + 2
00222 } oval_pixos_subtype_t;
00223
00225 typedef enum {
00226 OVAL_SOLARIS_ISAINFO = OVAL_FAMILY_SOLARIS + 1,
00227 OVAL_SOLARIS_PACKAGE = OVAL_FAMILY_SOLARIS + 2,
00228 OVAL_SOLARIS_PATCH = OVAL_FAMILY_SOLARIS + 3,
00229 OVAL_SOLARIS_SMF = OVAL_FAMILY_SOLARIS + 4
00230 } oval_solaris_subtype_t;
00231
00233 typedef enum {
00234 OVAL_UNIX_FILE = OVAL_FAMILY_UNIX + 1,
00235 OVAL_UNIX_INETD = OVAL_FAMILY_UNIX + 2,
00236 OVAL_UNIX_INTERFACE = OVAL_FAMILY_UNIX + 3,
00237 OVAL_UNIX_PASSWORD = OVAL_FAMILY_UNIX + 4,
00238 OVAL_UNIX_PROCESS = OVAL_FAMILY_UNIX + 5,
00239 OVAL_UNIX_RUNLEVEL = OVAL_FAMILY_UNIX + 6,
00240 OVAL_UNIX_SCCS = OVAL_FAMILY_UNIX + 7,
00241 OVAL_UNIX_SHADOW = OVAL_FAMILY_UNIX + 8,
00242 OVAL_UNIX_UNAME = OVAL_FAMILY_UNIX + 9,
00243 OVAL_UNIX_XINETD = OVAL_FAMILY_UNIX + 10
00244 } oval_unix_subtype_t;
00245
00247 typedef enum {
00248 OVAL_WINDOWS_ACCESS_TOKEN = OVAL_FAMILY_WINDOWS + 1,
00249 OVAL_WINDOWS_ACTIVE_DIRECTORY = OVAL_FAMILY_WINDOWS + 2,
00250 OVAL_WINDOWS_AUDIT_EVENT_POLICY = OVAL_FAMILY_WINDOWS + 3,
00251 OVAL_WINDOWS_AUDIT_EVENT_SUBCATEGORIES = OVAL_FAMILY_WINDOWS + 4,
00252 OVAL_WINDOWS_FILE = OVAL_FAMILY_WINDOWS + 5,
00253 OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 6,
00254 OVAL_WINDOWS_FILE_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 7,
00255 OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 8,
00256 OVAL_WINDOWS_FILE_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 9,
00257 OVAL_WINDOWS_GROUP = OVAL_FAMILY_WINDOWS + 10,
00258 OVAL_WINDOWS_GROUP_SID = OVAL_FAMILY_WINDOWS + 11,
00259 OVAL_WINDOWS_INTERFACE = OVAL_FAMILY_WINDOWS + 12,
00260 OVAL_WINDOWS_LOCKOUT_POLICY = OVAL_FAMILY_WINDOWS + 13,
00261 OVAL_WINDOWS_METABASE = OVAL_FAMILY_WINDOWS + 14,
00262 OVAL_WINDOWS_PASSWORD_POLICY = OVAL_FAMILY_WINDOWS + 15,
00263 OVAL_WINDOWS_PORT = OVAL_FAMILY_WINDOWS + 16,
00264 OVAL_WINDOWS_PRINTER_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 17,
00265 OVAL_WINDOWS_PROCESS = OVAL_FAMILY_WINDOWS + 18,
00266 OVAL_WINDOWS_REGISTRY = OVAL_FAMILY_WINDOWS + 19,
00267 OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS_53 = OVAL_FAMILY_WINDOWS + 20,
00268 OVAL_WINDOWS_REGKEY_AUDITED_PERMISSIONS = OVAL_FAMILY_WINDOWS + 21,
00269 OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS_53 = OVAL_FAMILY_WINDOWS + 22,
00270 OVAL_WINDOWS_REGKEY_EFFECTIVE_RIGHTS = OVAL_FAMILY_WINDOWS + 23,
00271 OVAL_WINDOWS_SHARED_RESOURCE = OVAL_FAMILY_WINDOWS + 24,
00272 OVAL_WINDOWS_SID = OVAL_FAMILY_WINDOWS + 25,
00273 OVAL_WINDOWS_SID_SID = OVAL_FAMILY_WINDOWS + 26,
00274 OVAL_WINDOWS_USER_ACCESS_CONTROL = OVAL_FAMILY_WINDOWS + 27,
00275 OVAL_WINDOWS_USER = OVAL_FAMILY_WINDOWS + 28,
00276 OVAL_WINDOWS_USER_SID_55 = OVAL_FAMILY_WINDOWS + 29,
00277 OVAL_WINDOWS_USER_SID = OVAL_FAMILY_WINDOWS + 30,
00278 OVAL_WINDOWS_VOLUME = OVAL_FAMILY_WINDOWS + 31,
00279 OVAL_WINDOWS_WMI = OVAL_FAMILY_WINDOWS + 32,
00280 OVAL_WINDOWS_WUA_UPDATE_SEARCHER = OVAL_FAMILY_WINDOWS + 33
00281 } oval_windows_subtype_t;
00282
00284 typedef enum {
00285 OVAL_AFCFML_UNKNOWN = 0,
00286 OVAL_AFCFML_CATOS = 1,
00287 OVAL_AFCFML_IOS = 2,
00288 OVAL_AFCFML_MACOS = 3,
00289 OVAL_AFCFML_PIXOS = 4,
00290 OVAL_AFCFML_UNDEFINED= 5,
00291 OVAL_AFCFML_UNIX = 6,
00292 OVAL_AFCFML_WINDOWS = 7
00293 } oval_affected_family_t;
00294
00296 typedef enum {
00297 OVAL_NODETYPE_UNKNOWN = 0,
00298 OVAL_NODETYPE_CRITERIA = 1,
00299 OVAL_NODETYPE_CRITERION = 2,
00300 OVAL_NODETYPE_EXTENDDEF = 3
00301 } oval_criteria_node_type_t;
00302
00304 typedef enum {
00305 OVAL_OPERATOR_UNKNOWN = 0,
00306 OVAL_OPERATOR_AND = 1,
00307 OVAL_OPERATOR_ONE = 2,
00308 OVAL_OPERATOR_OR = 3,
00309 OVAL_OPERATOR_XOR = 4
00310 } oval_operator_t;
00311
00313 typedef enum {
00314 OVAL_OPERATION_UNKNOWN = 0,
00315 OVAL_OPERATION_EQUALS = 1,
00316 OVAL_OPERATION_NOT_EQUAL = 2,
00317 OVAL_OPERATION_CASE_INSENSITIVE_EQUALS = 3,
00318 OVAL_OPERATION_CASE_INSENSITIVE_NOT_EQUAL = 4,
00319 OVAL_OPERATION_GREATER_THAN = 5,
00320 OVAL_OPERATION_LESS_THAN = 6,
00321 OVAL_OPERATION_GREATER_THAN_OR_EQUAL = 7,
00322 OVAL_OPERATION_LESS_THAN_OR_EQUAL = 8,
00323 OVAL_OPERATION_BITWISE_AND = 9,
00324 OVAL_OPERATION_BITWISE_OR = 10,
00325 OVAL_OPERATION_PATTERN_MATCH = 11
00326 } oval_operation_t;
00327
00329 typedef enum {
00330 OVAL_CLASS_UNKNOWN = 0,
00331 OVAL_CLASS_COMPLIANCE = 1,
00332 OVAL_CLASS_INVENTORY = 2,
00333 OVAL_CLASS_MISCELLANEOUS= 3,
00334 OVAL_CLASS_PATCH = 4,
00335 OVAL_CLASS_VULNERABILITY= 5,
00336 } oval_definition_class_t;
00337
00339 typedef enum {
00340 OVAL_EXISTENCE_UNKNOWN = 0,
00341 OVAL_ALL_EXIST = 1,
00342 OVAL_ANY_EXIST = 2,
00343 OVAL_AT_LEAST_ONE_EXISTS= 3,
00344 OVAL_ONLY_ONE_EXISTS = 4,
00345 OVAL_NONE_EXIST = 5
00346 } oval_existence_t;
00347
00349 typedef enum {
00350 OVAL_CHECK_UNKNOWN = 0,
00351 OVAL_CHECK_ALL = 1,
00352 OVAL_CHECK_AT_LEAST_ONE= 2,
00353 OVAL_CHECK_NONE_EXIST = 3,
00354 OVAL_CHECK_NONE_SATISFY= 4,
00355 OVAL_CHECK_ONLY_ONE = 5
00356 } oval_check_t;
00357
00359 typedef enum {
00360 OVAL_OBJECTCONTENT_UNKNOWN = 0,
00361 OVAL_OBJECTCONTENT_ENTITY = 1,
00362 OVAL_OBJECTCONTENT_SET = 2
00363 } oval_object_content_type_t;
00364
00366 typedef enum {
00367 OVAL_ENTITY_TYPE_UNKNOWN,
00368 OVAL_ENTITY_TYPE_ANY,
00369 OVAL_ENTITY_TYPE_BINARY,
00370 OVAL_ENTITY_TYPE_BOOLEAN,
00371 OVAL_ENTITY_TYPE_FLOAT,
00372 OVAL_ENTITY_TYPE_INTEGER,
00373 OVAL_ENTITY_TYPE_STRING,
00374 } oval_entity_type_t;
00375
00377 typedef enum {
00378 OVAL_DATATYPE_UNKNOWN = 0,
00379 OVAL_DATATYPE_BINARY = 1,
00380 OVAL_DATATYPE_BOOLEAN = 2,
00381 OVAL_DATATYPE_EVR_STRING = 3,
00382 OVAL_DATATYPE_FILESET_REVISTION = 4,
00383 OVAL_DATATYPE_FLOAT = 5,
00384 OVAL_DATATYPE_IOS_VERSION = 6,
00385 OVAL_DATATYPE_VERSION = 7,
00386 OVAL_DATATYPE_INTEGER = 8,
00387 OVAL_DATATYPE_STRING = 9
00388 } oval_datatype_t;
00389
00391 typedef enum {
00392 OVAL_ENTITY_VARREF_UNKNOWN,
00393 OVAL_ENTITY_VARREF_NONE,
00394 OVAL_ENTITY_VARREF_ATTRIBUTE,
00395 OVAL_ENTITY_VARREF_ELEMENT
00396 } oval_entity_varref_type_t;
00397
00399 typedef enum {
00400 OVAL_SET_UNKNOWN,
00401 OVAL_SET_AGGREGATE,
00402 OVAL_SET_COLLECTIVE
00403 } oval_setobject_type_t;
00404
00406 typedef enum {
00407 OVAL_SET_OPERATION_UNKNOWN,
00408 OVAL_SET_OPERATION_COMPLEMENT = 1,
00409 OVAL_SET_OPERATION_INTERSECTION = 2,
00410 OVAL_SET_OPERATION_UNION = 3
00411 } oval_setobject_operation_t;
00412
00414 typedef enum {
00415 OVAL_VARIABLE_UNKNOWN,
00416 OVAL_VARIABLE_EXTERNAL,
00417 OVAL_VARIABLE_CONSTANT,
00418 OVAL_VARIABLE_LOCAL
00419 } oval_variable_type_t;
00420
00421 #define OVAL_FUNCTION 10
00423 typedef enum {
00424 OVAL_COMPONENT_UNKNOWN = 0,
00425 OVAL_COMPONENT_LITERAL = 1,
00426 OVAL_COMPONENT_OBJECTREF = 2,
00427 OVAL_COMPONENT_VARREF = 3,
00428 OVAL_COMPONENT_FUNCTION = 4,
00429 OVAL_FUNCTION_BEGIN = OVAL_FUNCTION + 1,
00430 OVAL_FUNCTION_CONCAT = OVAL_FUNCTION + 2,
00431 OVAL_FUNCTION_END = OVAL_FUNCTION + 3,
00432 OVAL_FUNCTION_SPLIT = OVAL_FUNCTION + 4,
00433 OVAL_FUNCTION_SUBSTRING = OVAL_FUNCTION + 5,
00434 OVAL_FUNCTION_TIMEDIF = OVAL_FUNCTION + 6,
00435 OVAL_FUNCTION_ESCAPE_REGEX = OVAL_FUNCTION + 7,
00436 OVAL_FUNCTION_REGEX_CAPTURE = OVAL_FUNCTION + 8,
00437 OVAL_FUNCTION_ARITHMETIC = OVAL_FUNCTION + 9
00438 } oval_component_type_t;
00439
00441 typedef enum {
00442 OVAL_ARITHMETIC_UNKNOWN = 0,
00443 OVAL_ARITHMETIC_ADD = 1,
00444 OVAL_ARITHMETIC_MULTIPLY =2,
00445 OVAL_ARITHMETIC_SUBTRACT =3,
00446 OVAL_ARITHMETIC_DIVIDE =4
00447 } oval_arithmetic_operation_t;
00448
00450 typedef enum {
00451 OVAL_DATETIME_UNKNOWN = 0,
00452 OVAL_DATETIME_YEAR_MONTH_DAY = 1,
00453 OVAL_DATETIME_MONTH_DAY_YEAR = 2,
00454 OVAL_DATETIME_DAY_MONTH_YEAR = 3,
00455 OVAL_DATETIME_WIN_FILETIME = 4,
00456 OVAL_DATETIME_SECONDS_SINCE_EPOCH = 5
00457 } oval_datetime_format_t;
00458
00460 typedef enum {
00461 OVAL_MESSAGE_LEVEL_NONE = 0,
00462 OVAL_MESSAGE_LEVEL_DEBUG = 1,
00463 OVAL_MESSAGE_LEVEL_INFO = 2,
00464 OVAL_MESSAGE_LEVEL_WARNING = 3,
00465 OVAL_MESSAGE_LEVEL_ERROR = 4,
00466 OVAL_MESSAGE_LEVEL_FATAL = 5
00467 } oval_message_level_t;
00468
00469 struct oval_string_iterator;
00470
00471
00476 struct oval_affected;
00477 struct oval_affected_iterator;
00478
00483 struct oval_test;
00484 struct oval_test_iterator;
00485
00490 struct oval_criteria_node;
00491 struct oval_criteria_node_iterator;
00492
00497 struct oval_reference;
00498 struct oval_reference_iterator;
00499
00504 struct oval_definition;
00505 struct oval_definition_iterator;
00506
00511 struct oval_object;
00512 struct oval_object_iterator;
00513
00518 struct oval_state;
00519 struct oval_state_iterator;
00520
00525 struct oval_variable;
00526 struct oval_variable_iterator;
00527
00532 struct oval_variable_binding;
00533 struct oval_variable_binding_iterator;
00534
00539 struct oval_object_content;
00540 struct oval_object_content_iterator;
00541
00546 struct oval_state_content;
00547 struct oval_state_content_iterator;
00548
00553 struct oval_behavior;
00554 struct oval_behavior_iterator;
00555
00560 struct oval_entity;
00561 struct oval_entity_iterator;
00562
00567 struct oval_setobject;
00568 struct oval_setobject_iterator;
00569
00574 struct oval_value;
00575 struct oval_value_iterator;
00576
00581 struct oval_component;
00582 struct oval_component_iterator;
00583
00588 struct oval_message;
00589 struct oval_message_iterator;
00590
00591 int oval_string_iterator_has_more(struct oval_string_iterator *);
00592 char *oval_string_iterator_next (struct oval_string_iterator *);
00593 void oval_string_iterator_free (struct oval_string_iterator *);
00594
00595
00596
00597 struct oval_affected *oval_affected_new();
00598 void oval_affected_free(struct oval_affected *);
00599
00600 void oval_affected_set_family(struct oval_affected *, oval_affected_family_t);
00601 void oval_affected_add_platform(struct oval_affected *, char *);
00602 void oval_affected_add_product(struct oval_affected *, char *);
00603
00604 int oval_affected_iterator_has_more(struct oval_affected_iterator *);
00605 struct oval_affected *oval_affected_iterator_next (struct oval_affected_iterator *);
00606 void oval_affected_iterator_free (struct oval_affected_iterator *);
00607
00612 oval_affected_family_t oval_affected_get_family (struct oval_affected *);
00613
00618 struct oval_string_iterator *oval_affected_get_platform(struct oval_affected *);
00619
00624 struct oval_string_iterator *oval_affected_get_product (struct oval_affected *);
00625
00626 struct oval_criteria_node *oval_criteria_node_new(oval_criteria_node_type_t);
00627 void oval_criteria_node_free(struct oval_criteria_node *);
00628
00629 void oval_criteria_set_node_type(struct oval_criteria_node *, oval_criteria_node_type_t);
00630 void oval_criteria_node_set_negate(struct oval_criteria_node *, int);
00631 void oval_criteria_node_set_comment(struct oval_criteria_node *, char *);
00632 void oval_criteria_node_set_operator(struct oval_criteria_node *, oval_operator_t);
00633 void oval_criteria_node_add_subnode(struct oval_criteria_node *, struct oval_criteria_node *);
00634 void oval_criteria_node_set_test(struct oval_criteria_node *, struct oval_test *);
00635 void oval_criteria_node_set_definition(struct oval_criteria_node *, struct oval_definition *);
00636
00637 int oval_criteria_node_iterator_has_more (struct oval_criteria_node_iterator *);
00638 struct oval_criteria_node *oval_criteria_node_iterator_next(struct oval_criteria_node_iterator *);
00639 void oval_criteria_node_iterator_free(struct oval_criteria_node_iterator *);
00640
00645 oval_criteria_node_type_t oval_criteria_node_get_type (struct oval_criteria_node *);
00646
00651 int oval_criteria_node_get_negate (struct oval_criteria_node *);
00652
00657 char *oval_criteria_node_get_comment (struct oval_criteria_node *);
00658
00663 oval_operator_t oval_criteria_node_get_operator (struct oval_criteria_node *);
00664
00669 struct oval_criteria_node_iterator *oval_criteria_node_get_subnodes (struct oval_criteria_node *);
00670
00675 struct oval_test *oval_criteria_node_get_test (struct oval_criteria_node *);
00676
00681 struct oval_definition *oval_criteria_node_get_definition(struct oval_criteria_node *);
00682
00683 struct oval_reference *oval_reference_new();
00684 void oval_reference_free(struct oval_reference *);
00685
00686 void oval_reference_set_source(struct oval_reference *, char *);
00687 void oval_reference_set_id(struct oval_reference *, char *);
00688 void oval_reference_set_url(struct oval_reference *, char *);
00689
00690 int oval_reference_iterator_has_more(struct oval_reference_iterator *);
00691 struct oval_reference *oval_reference_iterator_next (struct oval_reference_iterator *);
00692 void oval_reference_iterator_free (struct oval_reference_iterator *);
00693
00698 char *oval_reference_get_source(struct oval_reference *);
00699
00704 char *oval_reference_get_id (struct oval_reference *);
00705
00710 char *oval_reference_get_url (struct oval_reference *);
00711
00712 struct oval_definition *oval_definition_new(char *id);
00713 void oval_definition_free(struct oval_definition *);
00714
00715 void oval_definition_set_id(struct oval_definition *, char *);
00716 void oval_definition_set_version(struct oval_definition *, int);
00717 void oval_definition_set_class(struct oval_definition *, oval_definition_class_t);
00718 void oval_definition_set_deprecated(struct oval_definition *, int);
00719 void oval_definition_set_title(struct oval_definition *, char *);
00720 void oval_definition_set_description(struct oval_definition *, char *);
00721 void oval_definition_set_criteria(struct oval_definition *, struct oval_criteria_node *);
00722 void oval_definition_add_affected(struct oval_definition *, struct oval_affected *);
00723 void oval_definition_add_reference(struct oval_definition *, struct oval_reference *);
00724 void oval_definition_add_note(struct oval_definition *, char *);
00725
00726 int oval_definition_iterator_has_more(struct oval_definition_iterator *);
00727 struct oval_definition *oval_definition_iterator_next (struct oval_definition_iterator *);
00728 void oval_definition_iterator_free (struct oval_definition_iterator *);
00729
00734 char *oval_definition_get_id(struct oval_definition *);
00735
00740 int oval_definition_get_version(struct oval_definition *);
00741
00746 oval_definition_class_t oval_definition_get_class(struct oval_definition *);
00747
00752 int oval_definition_get_deprecated(struct oval_definition *);
00753
00758 char *oval_definition_get_title(struct oval_definition *);
00759
00764 char *oval_definition_get_description(struct oval_definition *);
00765
00770 struct oval_affected_iterator *oval_definition_get_affected(struct oval_definition*);
00771
00776 struct oval_reference_iterator *oval_definition_get_references(struct oval_definition*);
00777
00782 struct oval_string_iterator *oval_definition_get_notes(struct oval_definition *);
00783
00788 struct oval_criteria_node *oval_definition_get_criteria(struct oval_definition *);
00789
00790 struct oval_object *oval_object_new(char *id);
00791 void oval_object_free(struct oval_object *);
00792
00793 void oval_object_set_family(struct oval_object *, oval_family_t);
00794 void oval_object_set_subtype(struct oval_object *, oval_subtype_t);
00795 void oval_object_set_name(struct oval_object *, char *);
00796 void oval_object_add_note(struct oval_object *, char *);
00797 void oval_object_set_comment(struct oval_object *, char *);
00798 void oval_object_set_deprecated(struct oval_object *, int);
00799 void oval_object_set_version(struct oval_object *, int);
00800 void oval_object_add_object_content(struct oval_object *, struct oval_object_content *);
00801 void oval_object_add_behaviors(struct oval_object *, struct oval_behavior *);
00802
00803 int oval_object_iterator_has_more(struct oval_object_iterator *);
00804 struct oval_object *oval_object_iterator_next (struct oval_object_iterator *);
00805 void oval_object_iterator_free (struct oval_object_iterator *);
00806
00811 oval_family_t oval_object_get_family (struct oval_object *);
00812
00817 oval_subtype_t oval_object_get_subtype (struct oval_object *);
00818
00823 char *oval_object_get_name (struct oval_object *);
00824
00829 struct oval_string_iterator *oval_object_get_notes (struct oval_object *);
00830
00835 char *oval_object_get_comment (struct oval_object *);
00836
00841 char *oval_object_get_id (struct oval_object *);
00842
00847 int oval_object_get_deprecated (struct oval_object *);
00848
00853 int oval_object_get_version (struct oval_object *);
00854 struct oval_object_content_iterator *oval_object_get_object_content(struct oval_object *);
00855 struct oval_behavior_iterator *oval_object_get_behaviors (struct oval_object *);
00856
00857 struct oval_test *oval_test_new(char *);
00858 void oval_test_free(struct oval_test *);
00859
00860 void oval_test_set_family(struct oval_test *, oval_family_t);
00861 void oval_test_set_subtype(struct oval_test *, oval_subtype_t);
00862 void oval_test_set_comment(struct oval_test *, char *);
00863 void oval_test_set_deprecated(struct oval_test *, int);
00864 void oval_test_set_version(struct oval_test *, int);
00865 void oval_test_set_existence(struct oval_test *, oval_existence_t);
00866 void oval_test_set_check(struct oval_test *, oval_check_t);
00867 void oval_test_set_object(struct oval_test *, struct oval_object *);
00868 void oval_test_set_state(struct oval_test *, struct oval_state *);
00869 void oval_test_add_note(struct oval_test *, char *);
00870
00871 int oval_test_iterator_has_more(struct oval_test_iterator *);
00872 struct oval_test *oval_test_iterator_next (struct oval_test_iterator *);
00873 void oval_test_iterator_free (struct oval_test_iterator *);
00874
00879 oval_family_t oval_test_get_family (struct oval_test *);
00880
00885 oval_subtype_t oval_test_get_subtype (struct oval_test *);
00886
00891 struct oval_string_iterator *oval_test_get_notes (struct oval_test *);
00892
00897 char *oval_test_get_comment (struct oval_test *);
00898
00903 char *oval_test_get_id (struct oval_test *);
00904
00909 int oval_test_get_deprecated(struct oval_test *);
00910
00915 int oval_test_get_version (struct oval_test *);
00916
00921 oval_existence_t oval_test_get_existence (struct oval_test *);
00922
00927 oval_check_t oval_test_get_check (struct oval_test *);
00928
00933 struct oval_object *oval_test_get_object (struct oval_test *);
00934
00939 struct oval_state *oval_test_get_state (struct oval_test *);
00940
00941 struct oval_variable_binding *oval_variable_binding_new(struct oval_variable *, char *);
00942 void oval_variable_binding_free(struct oval_variable_binding *);
00943
00944 void oval_variable_binding_set_variable(struct oval_variable_binding *, struct oval_variable *);
00945 void oval_variable_binding_set_value (struct oval_variable_binding *, char *);
00946
00947 int oval_variable_binding_iterator_has_more(struct oval_variable_binding_iterator *);
00948 struct oval_variable_binding *oval_variable_binding_iterator_next (struct oval_variable_binding_iterator *);
00949 void oval_variable_binding_iterator_free (struct oval_variable_binding_iterator *);
00950
00955 struct oval_variable *oval_variable_binding_get_variable(struct oval_variable_binding *);
00956
00961 char *oval_variable_binding_get_value (struct oval_variable_binding *);
00962
00963 struct oval_object_content *oval_object_content_new(oval_object_content_type_t type);
00964 void oval_object_content_free(struct oval_object_content *);
00965
00966 void oval_object_content_set_type(struct oval_object_content *, oval_object_content_type_t);
00967 void oval_object_content_set_field_name(struct oval_object_content *, char *);
00968 void oval_object_content_set_entity(struct oval_object_content *, struct oval_entity *);
00969 void oval_object_content_set_varCheck(struct oval_object_content *, oval_check_t);
00970 void oval_object_content_set_setobject(struct oval_object_content *, struct oval_setobject *);
00971
00972 int oval_object_content_iterator_has_more(struct oval_object_content_iterator *);
00973 struct oval_object_content *oval_object_content_iterator_next (struct oval_object_content_iterator *);
00974 void oval_object_content_iterator_free (struct oval_object_content_iterator *);
00975
00980 char *oval_object_content_get_field_name(struct oval_object_content *);
00981
00986 oval_object_content_type_t oval_object_content_get_type (struct oval_object_content *);
00987
00992 struct oval_entity *oval_object_content_get_entity (struct oval_object_content *);
00993
00998 oval_check_t oval_object_content_get_varCheck (struct oval_object_content *);
00999
01004 struct oval_setobject *oval_object_content_get_setobject (struct oval_object_content *);
01005
01006 struct oval_state_content *oval_state_content_new();
01007 void oval_state_content_free(struct oval_state_content *);
01008
01009 void oval_state_content_set_entity(struct oval_state_content *, struct oval_entity *);
01010 void oval_state_content_set_varcheck(struct oval_state_content *, oval_check_t);
01011 void oval_state_content_set_entcheck(struct oval_state_content *, oval_check_t);
01012
01013 struct oval_entity *oval_entity_new();
01014 void oval_entity_free(struct oval_entity *);
01015
01016 void oval_entity_set_type(struct oval_entity *, oval_entity_type_t);
01017 void oval_entity_set_datatype(struct oval_entity *, oval_datatype_t);
01018 void oval_entity_set_operator(struct oval_entity *, oval_operator_t);
01019 void oval_entity_set_mask(struct oval_entity *, int);
01020 void oval_entity_set_varref_type(struct oval_entity *, oval_entity_varref_type_t);
01021 void oval_entity_set_variable(struct oval_entity *, struct oval_variable *);
01022 void oval_entity_set_value(struct oval_entity *, struct oval_value *);
01023
01024 int oval_state_content_iterator_has_more(struct oval_state_content_iterator *);
01025 struct oval_state_content *oval_state_content_iterator_next (struct oval_state_content_iterator *);
01026 void oval_state_content_iterator_free (struct oval_state_content_iterator *);
01027
01032 struct oval_entity *oval_state_content_get_entity (struct oval_state_content *);
01033
01038 oval_check_t oval_state_content_get_var_check(struct oval_state_content *);
01039
01044 oval_check_t oval_state_content_get_ent_check(struct oval_state_content *);
01045
01046 int oval_entity_iterator_has_more(struct oval_entity_iterator *);
01047 struct oval_entity *oval_entity_iterator_next (struct oval_entity_iterator *);
01048 void oval_entity_iterator_free (struct oval_entity_iterator *);
01049
01050
01055 char *oval_entity_get_name (struct oval_entity *);
01056
01061 oval_entity_type_t oval_entity_get_type (struct oval_entity *);
01062
01067 oval_datatype_t oval_entity_get_datatype (struct oval_entity *);
01068
01073 oval_operation_t oval_entity_get_operation (struct oval_entity *);
01074
01079 int oval_entity_get_mask (struct oval_entity *);
01080
01085 oval_entity_varref_type_t oval_entity_get_varref_type(struct oval_entity *);
01086
01091 struct oval_variable *oval_entity_get_variable (struct oval_entity *);
01092
01097 struct oval_value *oval_entity_get_value (struct oval_entity *);
01098
01099 struct oval_setobject *oval_setobject_new();
01100 void oval_set_free(struct oval_setobject *);
01101
01102 void oval_setobject_set_type(struct oval_setobject *, oval_setobject_type_t);
01103 void oval_setobject_set_operation(struct oval_setobject *, oval_setobject_operation_t);
01104 void oval_setobject_add_subset(struct oval_setobject *, struct oval_setobject *);
01105 void oval_setobject_add_object(struct oval_setobject *, struct oval_object *);
01106 void oval_setobject_add_filter(struct oval_setobject *, struct oval_state *);
01107
01108 int oval_setobject_iterator_has_more(struct oval_setobject_iterator *);
01109 struct oval_setobject *oval_setobject_iterator_next (struct oval_setobject_iterator *);
01110 void oval_setobject_iterator_free (struct oval_setobject_iterator *);
01111
01112
01117 oval_setobject_type_t oval_setobject_get_type (struct oval_setobject *);
01118
01123 oval_setobject_operation_t oval_setobject_get_operation(struct oval_setobject *);
01124
01130 struct oval_setobject_iterator *oval_setobject_get_subsets (struct oval_setobject *);
01131
01132
01138 struct oval_object_iterator *oval_setobject_get_objects (struct oval_setobject *);
01139
01145 struct oval_state_iterator *oval_setobject_get_filters (struct oval_setobject *);
01146
01147 struct oval_behavior *oval_behavior_new();
01148 void oval_behavior_free(struct oval_behavior *);
01149
01150 void behavior_set_keyval(struct oval_behavior *behavior, const char* key, const char* value);
01151
01152 int oval_behavior_iterator_has_more(struct oval_behavior_iterator *);
01153 struct oval_behavior *oval_behavior_iterator_next (struct oval_behavior_iterator *);
01154 void oval_behavior_iterator_free (struct oval_behavior_iterator *);
01155
01160 char *oval_behavior_get_key (struct oval_behavior *);
01161
01166 char *oval_behavior_get_value(struct oval_behavior *);
01167
01168 struct oval_value *oval_value_new();
01169 void oval_value_free(struct oval_value *);
01170
01171 void oval_value_set_datatype(struct oval_value *, oval_datatype_t);
01172 void oval_value_set_text(struct oval_value *, char *);
01173 void oval_value_set_binary(struct oval_value *, unsigned char *);
01174 void oval_value_set_boolean(struct oval_value *, int);
01175 void oval_value_set_float(struct oval_value *, float);
01176 void oval_value_set_integer(struct oval_value *, long);
01177
01178 int oval_value_iterator_has_more(struct oval_value_iterator *);
01179 struct oval_value *oval_value_iterator_next (struct oval_value_iterator *);
01180 void oval_value_iterator_free (struct oval_value_iterator *);
01181
01182
01187 oval_datatype_t oval_value_get_datatype(struct oval_value *);
01188
01193 char *oval_value_get_text (struct oval_value *);
01194
01199 unsigned char *oval_value_get_binary (struct oval_value *);
01200
01205 bool oval_value_get_boolean (struct oval_value *);
01206
01211 float oval_value_get_float (struct oval_value *);
01212
01217 long oval_value_get_integer (struct oval_value *);
01218
01219 struct oval_state *oval_state_new(char *);
01220 void oval_state_free(struct oval_state *);
01221
01222 void oval_state_set_family(struct oval_state *, oval_family_t);
01223 void oval_state_set_subtype(struct oval_state *, oval_subtype_t);
01224 void oval_state_set_name(struct oval_state *, char *);
01225 void oval_state_add_note(struct oval_state *, char *);
01226 void oval_state_set_comment(struct oval_state *, char *);
01227 void oval_state_set_deprecated(struct oval_state *, int);
01228 void oval_state_set_version(struct oval_state *, int);
01229 void oval_state_add_content(struct oval_state *, struct oval_state_content *);
01230
01231 int oval_state_iterator_has_more(struct oval_state_iterator *);
01232 struct oval_state *oval_state_iterator_next (struct oval_state_iterator *);
01233 void oval_state_iterator_free (struct oval_state_iterator *);
01234
01239 oval_family_t oval_state_get_family (struct oval_state *);
01240
01245 oval_subtype_t oval_state_get_subtype (struct oval_state *);
01246
01251 char *oval_state_get_name (struct oval_state *);
01252
01257 char *oval_state_get_comment (struct oval_state *);
01258
01263 char *oval_state_get_id (struct oval_state *);
01264
01269 int oval_state_get_deprecated(struct oval_state *);
01270
01275 int oval_state_get_version (struct oval_state *);
01276
01281 struct oval_string_iterator *oval_state_get_notes (struct oval_state *);
01282
01287 struct oval_state_content_iterator *oval_state_get_contents (struct oval_state *);
01288
01289 struct oval_variable *oval_variable_new(char *, oval_variable_type_t);
01290 void oval_variable_free(struct oval_variable *);
01291
01292 void oval_variable_set_type(struct oval_variable *, oval_variable_type_t);
01293 void oval_variable_set_datatype(struct oval_variable *, oval_datatype_t);
01294 void oval_variable_add_value(struct oval_variable *, struct oval_value *);
01295 void oval_variable_set_component(struct oval_variable *, struct oval_component *);
01296
01297 int oval_variable_iterator_has_more(struct oval_variable_iterator *);
01298 struct oval_variable *oval_variable_iterator_next (struct oval_variable_iterator *);
01299 void oval_variable_iterator_free (struct oval_variable_iterator *);
01300
01305 char *oval_variable_get_id (struct oval_variable *);
01306
01311 char *oval_variable_get_comment (struct oval_variable *);
01312
01317 int oval_variable_get_version (struct oval_variable *);
01318
01323 int oval_variable_get_deprecated(struct oval_variable *);
01324
01329 oval_variable_type_t oval_variable_get_type (struct oval_variable *);
01330
01335 oval_datatype_t oval_variable_get_datatype (struct oval_variable *);
01336
01341 struct oval_value_iterator *oval_variable_get_values (struct oval_variable *);
01342
01347 struct oval_component *oval_variable_get_component (struct oval_variable *);
01348
01349 struct oval_component *oval_component_new(oval_component_type_t);
01350 void oval_component_free(struct oval_component *);
01351
01352 void oval_component_set_type(struct oval_component *, oval_component_type_t);
01353 void oval_component_set_literal_value(struct oval_component *, struct oval_value *);
01354 void oval_component_set_object(struct oval_component *, struct oval_object *);
01355 void oval_component_set_object_field(struct oval_component *, char *);
01356 void oval_component_set_variable(struct oval_component *, struct oval_variable *);
01357 void oval_component_add_function_component(struct oval_component *, struct oval_component *);
01358
01359 int oval_component_iterator_has_more(struct oval_component_iterator *);
01360 struct oval_component *oval_component_iterator_next (struct oval_component_iterator *);
01361 void oval_component_iterator_free (struct oval_component_iterator *);
01362
01367 oval_component_type_t oval_component_get_type (struct oval_component *);
01368
01374 struct oval_value *oval_component_get_literal_value (struct oval_component *);
01375
01381 struct oval_object *oval_component_get_object (struct oval_component *);
01382
01388 char *oval_component_get_object_field (struct oval_component *);
01389
01395 struct oval_variable *oval_component_get_variable (struct oval_component *);
01396
01402 struct oval_component_iterator *oval_component_get_function_components (struct oval_component *);
01403
01409 oval_arithmetic_operation_t oval_component_get_arithmetic_operation(struct oval_component *);
01410
01416 char *oval_component_get_begin_character (struct oval_component *);
01417
01423 char *oval_component_get_end_character (struct oval_component *);
01424
01430 char *oval_component_get_split_delimiter (struct oval_component *);
01431
01437 int oval_component_get_substring_start (struct oval_component *);
01438
01444 int oval_component_get_substring_length (struct oval_component *);
01445
01451 oval_datetime_format_t oval_component_get_timedif_format_1 (struct oval_component *);
01452
01458 oval_datetime_format_t oval_component_get_timedif_format_2 (struct oval_component *);
01459
01465 char *oval_component_get_regex_pattern (struct oval_component *);
01466
01467 struct oval_message *oval_message_new();
01468 void oval_message_free(struct oval_message *);
01469
01470 void oval_message_set_text(struct oval_message *, char *);
01471 void oval_message_set_level(struct oval_message *, oval_message_level_t);
01472
01473 int oval_message_iterator_has_more(struct oval_message_iterator *oc_message);
01474 struct oval_message *oval_message_iterator_next (struct oval_message_iterator *oc_message);
01475 void oval_message_iterator_free (struct oval_message_iterator *oc_message);
01476
01481 char *oval_message_get_text (struct oval_message *message);
01482
01487 oval_message_level_t oval_message_get_level(struct oval_message *message);
01488
01492 const char* oval_operator_get_text(oval_operator_t);
01493
01497 oval_family_t oval_subtype_get_family(oval_subtype_t);
01498
01502 const char* oval_subtype_get_text(oval_subtype_t);
01503
01507 const char* oval_family_get_text(oval_family_t);
01508
01509 const char *oval_check_get_text(oval_check_t);
01510 const char *oval_existence_get_text(oval_existence_t);
01511 const char *oval_affected_family_get_text(oval_affected_family_t);
01512 const char *oval_datatype_get_text(oval_datatype_t);
01513 const char *oval_operation_get_text(oval_operation_t);
01514 const char *oval_set_operation_get_text(oval_setobject_operation_t);
01515 const char *oval_datetime_format_get_text(oval_datetime_format_t);
01516 const char *oval_arithmetic_operation_get_text(oval_arithmetic_operation_t);
01517
01518 #endif