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_REVISION = 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(void);
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_platforms(struct oval_affected *);
00619
00624 struct oval_string_iterator *oval_affected_get_products (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(void);
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_version(struct oval_definition *, int);
00716 void oval_definition_set_class(struct oval_definition *, oval_definition_class_t);
00717 void oval_definition_set_deprecated(struct oval_definition *, int);
00718 void oval_definition_set_title(struct oval_definition *, char *);
00719 void oval_definition_set_description(struct oval_definition *, char *);
00720 void oval_definition_set_criteria(struct oval_definition *, struct oval_criteria_node *);
00721 void oval_definition_add_affected(struct oval_definition *, struct oval_affected *);
00722 void oval_definition_add_reference(struct oval_definition *, struct oval_reference *);
00723 void oval_definition_add_note(struct oval_definition *, char *);
00724
00725 int oval_definition_iterator_has_more(struct oval_definition_iterator *);
00726 struct oval_definition *oval_definition_iterator_next (struct oval_definition_iterator *);
00727 void oval_definition_iterator_free (struct oval_definition_iterator *);
00728
00733 char *oval_definition_get_id(struct oval_definition *);
00734
00739 int oval_definition_get_version(struct oval_definition *);
00740
00745 oval_definition_class_t oval_definition_get_class(struct oval_definition *);
00746
00751 int oval_definition_get_deprecated(struct oval_definition *);
00752
00757 char *oval_definition_get_title(struct oval_definition *);
00758
00763 char *oval_definition_get_description(struct oval_definition *);
00764
00769 struct oval_affected_iterator *oval_definition_get_affected(struct oval_definition*);
00770
00775 struct oval_reference_iterator *oval_definition_get_references(struct oval_definition*);
00776
00781 struct oval_string_iterator *oval_definition_get_notes(struct oval_definition *);
00782
00787 struct oval_criteria_node *oval_definition_get_criteria(struct oval_definition *);
00788
00789 struct oval_object *oval_object_new(char *id);
00790 void oval_object_free(struct oval_object *);
00791
00792 void oval_object_set_subtype(struct oval_object *, oval_subtype_t);
00793 void oval_object_add_note(struct oval_object *, char *);
00794 void oval_object_set_comment(struct oval_object *, char *);
00795 void oval_object_set_deprecated(struct oval_object *, int);
00796 void oval_object_set_version(struct oval_object *, int);
00797 void oval_object_add_object_content(struct oval_object *, struct oval_object_content *);
00798 void oval_object_add_behavior(struct oval_object *, struct oval_behavior *);
00799
00800 int oval_object_iterator_has_more(struct oval_object_iterator *);
00801 struct oval_object *oval_object_iterator_next (struct oval_object_iterator *);
00802 void oval_object_iterator_free (struct oval_object_iterator *);
00803
00808 oval_family_t oval_object_get_family (struct oval_object *);
00809
00814 oval_subtype_t oval_object_get_subtype (struct oval_object *);
00815
00820 const char *oval_object_get_name (struct oval_object *);
00821
00826 struct oval_string_iterator *oval_object_get_notes (struct oval_object *);
00827
00832 char *oval_object_get_comment (struct oval_object *);
00833
00838 char *oval_object_get_id (struct oval_object *);
00839
00844 int oval_object_get_deprecated (struct oval_object *);
00845
00850 int oval_object_get_version (struct oval_object *);
00851 struct oval_object_content_iterator *oval_object_get_object_contents(struct oval_object *);
00852 struct oval_behavior_iterator *oval_object_get_behaviors (struct oval_object *);
00853
00854 struct oval_test *oval_test_new(char *);
00855 void oval_test_free(struct oval_test *);
00856
00857 void oval_test_set_subtype(struct oval_test *, oval_subtype_t);
00858 void oval_test_set_comment(struct oval_test *, char *);
00859 void oval_test_set_deprecated(struct oval_test *, int);
00860 void oval_test_set_version(struct oval_test *, int);
00861 void oval_test_set_existence(struct oval_test *, oval_existence_t);
00862 void oval_test_set_check(struct oval_test *, oval_check_t);
00863 void oval_test_set_object(struct oval_test *, struct oval_object *);
00864 void oval_test_set_state(struct oval_test *, struct oval_state *);
00865 void oval_test_add_note(struct oval_test *, char *);
00866
00867 int oval_test_iterator_has_more(struct oval_test_iterator *);
00868 struct oval_test *oval_test_iterator_next (struct oval_test_iterator *);
00869 void oval_test_iterator_free (struct oval_test_iterator *);
00870
00875 oval_family_t oval_test_get_family (struct oval_test *);
00876
00881 oval_subtype_t oval_test_get_subtype (struct oval_test *);
00882
00887 struct oval_string_iterator *oval_test_get_notes (struct oval_test *);
00888
00893 char *oval_test_get_comment (struct oval_test *);
00894
00899 char *oval_test_get_id (struct oval_test *);
00900
00905 int oval_test_get_deprecated(struct oval_test *);
00906
00911 int oval_test_get_version (struct oval_test *);
00912
00917 oval_existence_t oval_test_get_existence (struct oval_test *);
00918
00923 oval_check_t oval_test_get_check (struct oval_test *);
00924
00929 struct oval_object *oval_test_get_object (struct oval_test *);
00930
00935 struct oval_state *oval_test_get_state (struct oval_test *);
00936
00937 struct oval_variable_binding *oval_variable_binding_new(struct oval_variable *, char *);
00938 void oval_variable_binding_free(struct oval_variable_binding *);
00939
00940 void oval_variable_binding_set_variable(struct oval_variable_binding *, struct oval_variable *);
00941 void oval_variable_binding_set_value (struct oval_variable_binding *, char *);
00942
00943 int oval_variable_binding_iterator_has_more(struct oval_variable_binding_iterator *);
00944 struct oval_variable_binding *oval_variable_binding_iterator_next (struct oval_variable_binding_iterator *);
00945 void oval_variable_binding_iterator_free (struct oval_variable_binding_iterator *);
00946
00951 struct oval_variable *oval_variable_binding_get_variable(struct oval_variable_binding *);
00952
00957 char *oval_variable_binding_get_value (struct oval_variable_binding *);
00958
00959 struct oval_object_content *oval_object_content_new(oval_object_content_type_t type);
00960 void oval_object_content_free(struct oval_object_content *);
00961
00962 void oval_object_content_set_type(struct oval_object_content *, oval_object_content_type_t);
00963 void oval_object_content_set_field_name(struct oval_object_content *, char *);
00964 void oval_object_content_set_entity(struct oval_object_content *, struct oval_entity *);
00965 void oval_object_content_set_varCheck(struct oval_object_content *, oval_check_t);
00966 void oval_object_content_set_setobject(struct oval_object_content *, struct oval_setobject *);
00967
00968 int oval_object_content_iterator_has_more(struct oval_object_content_iterator *);
00969 struct oval_object_content *oval_object_content_iterator_next (struct oval_object_content_iterator *);
00970 void oval_object_content_iterator_free (struct oval_object_content_iterator *);
00971
00976 char *oval_object_content_get_field_name(struct oval_object_content *);
00977
00982 oval_object_content_type_t oval_object_content_get_type (struct oval_object_content *);
00983
00988 struct oval_entity *oval_object_content_get_entity (struct oval_object_content *);
00989
00994 oval_check_t oval_object_content_get_varCheck (struct oval_object_content *);
00995
01000 struct oval_setobject *oval_object_content_get_setobject (struct oval_object_content *);
01001
01002 struct oval_state_content *oval_state_content_new(void);
01003 void oval_state_content_free(struct oval_state_content *);
01004
01005 void oval_state_content_set_entity(struct oval_state_content *, struct oval_entity *);
01006 void oval_state_content_set_varcheck(struct oval_state_content *, oval_check_t);
01007 void oval_state_content_set_entcheck(struct oval_state_content *, oval_check_t);
01008
01009 struct oval_entity *oval_entity_new(void);
01010 void oval_entity_free(struct oval_entity *);
01011
01012 void oval_entity_set_type(struct oval_entity *, oval_entity_type_t);
01013 void oval_entity_set_datatype(struct oval_entity *, oval_datatype_t);
01014 void oval_entity_set_mask(struct oval_entity *, int);
01015 void oval_entity_set_varref_type(struct oval_entity *, oval_entity_varref_type_t);
01016 void oval_entity_set_variable(struct oval_entity *, struct oval_variable *);
01017 void oval_entity_set_value(struct oval_entity *, struct oval_value *);
01018 void oval_entity_set_name(struct oval_entity *, char *);
01019 void oval_entity_set_operation(struct oval_entity *, oval_operation_t);
01020
01021 int oval_state_content_iterator_has_more(struct oval_state_content_iterator *);
01022 struct oval_state_content *oval_state_content_iterator_next (struct oval_state_content_iterator *);
01023 void oval_state_content_iterator_free (struct oval_state_content_iterator *);
01024
01029 struct oval_entity *oval_state_content_get_entity (struct oval_state_content *);
01030
01035 oval_check_t oval_state_content_get_var_check(struct oval_state_content *);
01036
01041 oval_check_t oval_state_content_get_ent_check(struct oval_state_content *);
01042
01043 int oval_entity_iterator_has_more(struct oval_entity_iterator *);
01044 struct oval_entity *oval_entity_iterator_next (struct oval_entity_iterator *);
01045 void oval_entity_iterator_free (struct oval_entity_iterator *);
01046
01047
01052 char *oval_entity_get_name (struct oval_entity *);
01053
01058 oval_entity_type_t oval_entity_get_type (struct oval_entity *);
01059
01064 oval_datatype_t oval_entity_get_datatype (struct oval_entity *);
01065
01070 oval_operation_t oval_entity_get_operation (struct oval_entity *);
01071
01076 int oval_entity_get_mask (struct oval_entity *);
01077
01082 oval_entity_varref_type_t oval_entity_get_varref_type(struct oval_entity *);
01083
01088 struct oval_variable *oval_entity_get_variable (struct oval_entity *);
01089
01094 struct oval_value *oval_entity_get_value (struct oval_entity *);
01095
01096 struct oval_setobject *oval_setobject_new(void);
01097 void oval_setobject_free(struct oval_setobject *);
01098
01099 void oval_setobject_set_type(struct oval_setobject *, oval_setobject_type_t);
01100 void oval_setobject_set_operation(struct oval_setobject *, oval_setobject_operation_t);
01101 void oval_setobject_add_subset(struct oval_setobject *, struct oval_setobject *);
01102 void oval_setobject_add_object(struct oval_setobject *, struct oval_object *);
01103 void oval_setobject_add_filter(struct oval_setobject *, struct oval_state *);
01104
01105 int oval_setobject_iterator_has_more(struct oval_setobject_iterator *);
01106 struct oval_setobject *oval_setobject_iterator_next (struct oval_setobject_iterator *);
01107 void oval_setobject_iterator_free (struct oval_setobject_iterator *);
01108
01109
01114 oval_setobject_type_t oval_setobject_get_type (struct oval_setobject *);
01115
01120 oval_setobject_operation_t oval_setobject_get_operation(struct oval_setobject *);
01121
01127 struct oval_setobject_iterator *oval_setobject_get_subsets (struct oval_setobject *);
01128
01129
01135 struct oval_object_iterator *oval_setobject_get_objects (struct oval_setobject *);
01136
01142 struct oval_state_iterator *oval_setobject_get_filters (struct oval_setobject *);
01143
01144 struct oval_behavior *oval_behavior_new(void);
01145 void oval_behavior_free(struct oval_behavior *);
01146
01147 void oval_behavior_set_keyval(struct oval_behavior *behavior, const char* key, const char* value);
01148
01149 int oval_behavior_iterator_has_more(struct oval_behavior_iterator *);
01150 struct oval_behavior *oval_behavior_iterator_next (struct oval_behavior_iterator *);
01151 void oval_behavior_iterator_free (struct oval_behavior_iterator *);
01152
01157 char *oval_behavior_get_key (struct oval_behavior *);
01158
01163 char *oval_behavior_get_value(struct oval_behavior *);
01164
01165 struct oval_value *oval_value_new(void);
01166 void oval_value_free(struct oval_value *);
01167
01168 void oval_value_set_datatype(struct oval_value *, oval_datatype_t);
01169 void oval_value_set_text(struct oval_value *, char *);
01170 void oval_value_set_binary(struct oval_value *, unsigned char *);
01171 void oval_value_set_boolean(struct oval_value *, int);
01172 void oval_value_set_float(struct oval_value *, float);
01173 void oval_value_set_integer(struct oval_value *, long);
01174
01175 int oval_value_iterator_has_more(struct oval_value_iterator *);
01176 struct oval_value *oval_value_iterator_next (struct oval_value_iterator *);
01177 void oval_value_iterator_free (struct oval_value_iterator *);
01178
01179
01184 oval_datatype_t oval_value_get_datatype(struct oval_value *);
01185
01190 char *oval_value_get_text (struct oval_value *);
01191
01196 unsigned char *oval_value_get_binary (struct oval_value *);
01197
01202 bool oval_value_get_boolean (struct oval_value *);
01203
01208 float oval_value_get_float (struct oval_value *);
01209
01214 long oval_value_get_integer (struct oval_value *);
01215
01216 struct oval_state *oval_state_new(char *);
01217 void oval_state_free(struct oval_state *);
01218
01219 void oval_state_set_subtype(struct oval_state *, oval_subtype_t);
01220 void oval_state_add_note(struct oval_state *, char *);
01221 void oval_state_set_comment(struct oval_state *, char *);
01222 void oval_state_set_deprecated(struct oval_state *, int);
01223 void oval_state_set_version(struct oval_state *, int);
01224 void oval_state_add_content(struct oval_state *, struct oval_state_content *);
01225
01226 int oval_state_iterator_has_more(struct oval_state_iterator *);
01227 struct oval_state *oval_state_iterator_next (struct oval_state_iterator *);
01228 void oval_state_iterator_free (struct oval_state_iterator *);
01229
01234 oval_family_t oval_state_get_family (struct oval_state *);
01235
01240 oval_subtype_t oval_state_get_subtype (struct oval_state *);
01241
01246 const char *oval_state_get_name (struct oval_state *);
01247
01252 char *oval_state_get_comment (struct oval_state *);
01253
01258 char *oval_state_get_id (struct oval_state *);
01259
01264 int oval_state_get_deprecated(struct oval_state *);
01265
01270 int oval_state_get_version (struct oval_state *);
01271
01276 struct oval_string_iterator *oval_state_get_notes (struct oval_state *);
01277
01282 struct oval_state_content_iterator *oval_state_get_contents (struct oval_state *);
01283
01284 struct oval_variable *oval_variable_new(char *, oval_variable_type_t);
01285 void oval_variable_free(struct oval_variable *);
01286
01287 void oval_variable_set_comment (struct oval_variable *, char *);
01288 void oval_variable_set_deprecated(struct oval_variable *, bool);
01289 void oval_variable_set_version (struct oval_variable *, int);
01290 void oval_variable_set_datatype(struct oval_variable *, oval_datatype_t);
01291 void oval_variable_add_value(struct oval_variable *, struct oval_value *);
01292 void oval_variable_set_component(struct oval_variable *, struct oval_component *);
01293
01294 int oval_variable_iterator_has_more(struct oval_variable_iterator *);
01295 struct oval_variable *oval_variable_iterator_next (struct oval_variable_iterator *);
01296 void oval_variable_iterator_free (struct oval_variable_iterator *);
01297
01302 char *oval_variable_get_id (struct oval_variable *);
01303
01308 char *oval_variable_get_comment (struct oval_variable *);
01309
01314 int oval_variable_get_version (struct oval_variable *);
01315
01320 int oval_variable_get_deprecated(struct oval_variable *);
01321
01326 oval_variable_type_t oval_variable_get_type (struct oval_variable *);
01327
01332 oval_datatype_t oval_variable_get_datatype (struct oval_variable *);
01333
01338 struct oval_value_iterator *oval_variable_get_values (struct oval_variable *);
01339
01344 struct oval_component *oval_variable_get_component (struct oval_variable *);
01345
01346 struct oval_component *oval_component_new(oval_component_type_t);
01347 void oval_component_free(struct oval_component *);
01348
01349 void oval_component_set_type(struct oval_component *, oval_component_type_t);
01350 void oval_component_set_literal_value(struct oval_component *, struct oval_value *);
01351 void oval_component_set_object(struct oval_component *, struct oval_object *);
01352 void oval_component_set_object_field(struct oval_component *, char *);
01353 void oval_component_set_variable(struct oval_component *, struct oval_variable *);
01354 void oval_component_add_function_component(struct oval_component *, struct oval_component *);
01355
01356 int oval_component_iterator_has_more(struct oval_component_iterator *);
01357 struct oval_component *oval_component_iterator_next (struct oval_component_iterator *);
01358 void oval_component_iterator_free (struct oval_component_iterator *);
01359
01364 oval_component_type_t oval_component_get_type (struct oval_component *);
01365
01371 struct oval_value *oval_component_get_literal_value (struct oval_component *);
01372
01378 struct oval_object *oval_component_get_object (struct oval_component *);
01379
01385 char *oval_component_get_object_field (struct oval_component *);
01386
01392 struct oval_variable *oval_component_get_variable (struct oval_component *);
01393
01399 struct oval_component_iterator *oval_component_get_function_components (struct oval_component *);
01400
01406 oval_arithmetic_operation_t oval_component_get_arithmetic_operation(struct oval_component *);
01407
01413 char *oval_component_get_begin_character (struct oval_component *);
01414
01420 char *oval_component_get_end_character (struct oval_component *);
01421
01427 char *oval_component_get_split_delimiter (struct oval_component *);
01428
01434 int oval_component_get_substring_start (struct oval_component *);
01435
01441 int oval_component_get_substring_length (struct oval_component *);
01442
01448 oval_datetime_format_t oval_component_get_timedif_format_1 (struct oval_component *);
01449
01455 oval_datetime_format_t oval_component_get_timedif_format_2 (struct oval_component *);
01456
01462 char *oval_component_get_regex_pattern (struct oval_component *);
01463 struct oval_value *oval_component_get_literal_value (struct oval_component *);
01464
01470 struct oval_object *oval_component_get_object (struct oval_component *);
01471
01477 char *oval_component_get_object_field (struct oval_component *);
01478
01484 struct oval_variable *oval_component_get_variable (struct oval_component *);
01485
01491 struct oval_component_iterator *oval_component_get_function_components (struct oval_component *);
01492
01498 void oval_component_set_arithmetic_operation
01499 (struct oval_component *,oval_arithmetic_operation_t);
01500
01506 void oval_component_set_begin_character(struct oval_component *,char *);
01507
01513 void oval_component_set_end_character(struct oval_component *, char *);
01514
01520 void oval_component_set_split_delimiter(struct oval_component *, char *);
01521
01527 void oval_component_set_substring_start(struct oval_component *, int);
01528
01534 void oval_component_set_substring_length (struct oval_component *, int);
01535
01541 void oval_component_set_timedif_format_1(struct oval_component *, oval_datetime_format_t);
01542
01548 void oval_component_set_timedif_format_2(struct oval_component *, oval_datetime_format_t);
01549
01555 void oval_component_set_regex_pattern(struct oval_component *, char *);
01556
01557 struct oval_message *oval_message_new(void);
01558 struct oval_message *oval_message_clone(struct oval_message *old_message);
01559 void oval_message_free(struct oval_message *);
01560
01561 void oval_message_set_text(struct oval_message *, char *);
01562 void oval_message_set_level(struct oval_message *, oval_message_level_t);
01563
01564 int oval_message_iterator_has_more(struct oval_message_iterator *oc_message);
01565 struct oval_message *oval_message_iterator_next (struct oval_message_iterator *oc_message);
01566 void oval_message_iterator_free (struct oval_message_iterator *oc_message);
01567
01572 char *oval_message_get_text (struct oval_message *message);
01573
01578 oval_message_level_t oval_message_get_level(struct oval_message *message);
01579
01583 const char* oval_operator_get_text(oval_operator_t);
01584
01588 oval_family_t oval_subtype_get_family(oval_subtype_t);
01589
01593 const char* oval_subtype_get_text(oval_subtype_t);
01594
01598 const char* oval_family_get_text(oval_family_t);
01599
01600 const char *oval_check_get_text(oval_check_t);
01601 const char *oval_existence_get_text(oval_existence_t);
01602 const char *oval_affected_family_get_text(oval_affected_family_t);
01603 const char *oval_datatype_get_text(oval_datatype_t);
01604 const char *oval_operation_get_text(oval_operation_t);
01605 const char *oval_set_operation_get_text(oval_setobject_operation_t);
01606 const char *oval_datetime_format_get_text(oval_datetime_format_t);
01607 const char *oval_arithmetic_operation_get_text(oval_arithmetic_operation_t);
01608 const char *oval_message_level_text(oval_message_level_t);
01609
01610 #endif