00001 #ifndef OVAL_DEFINITIONS
00002 #define OVAL_DEFINITIONS
00003
00004 typedef enum{
00005 FAMILY_UNKNOWN = 0,
00006 FAMILY_AIX = 1000,
00007 FAMILY_APACHE = 2000,
00008 FAMILY_CATOS = 3000,
00009 FAMILY_ESX = 4000,
00010 FAMILY_FREEBSD = 5000,
00011 FAMILY_HPUX = 6000,
00012 FAMILY_INDEPENDENT = 7000,
00013 FAMILY_IOS = 8000,
00014 FAMILY_LINUX = 9000,
00015 FAMILY_MACOS = 10000,
00016 FAMILY_PIXOS = 11000,
00017 FAMILY_SOLARIS = 12000,
00018 FAMILY_UNIX = 13000,
00019 FAMILY_WINDOWS = 14000
00020 } oval_family_enum;
00021
00022 typedef enum{
00023 OVAL_SUBTYPE_UNKNOWN = 0
00024 } oval_subtype_enum;
00025
00026 typedef enum {
00027 AIX_FILESET = FAMILY_AIX+1,
00028 AIX_FIX = FAMILY_AIX+2,
00029 AIX_OSLEVEL = FAMILY_AIX+3
00030 }oval_aix_subtype_enum;
00031
00032 typedef enum {
00033 APACHE_HTTPD = FAMILY_APACHE+1,
00034 APACHE_VERSION = FAMILY_APACHE+2
00035 }oval_apache_subtype_enum;
00036
00037 typedef enum{
00038 CATOS_LINE = FAMILY_CATOS+1,
00039 CATOS_MODULE = FAMILY_CATOS+2,
00040 CATOS_VERSION_55 = FAMILY_CATOS+3,
00041 CATOS_VERSION = FAMILY_CATOS+4
00042 } oval_catos_subtype_enum;
00043
00044 typedef enum {
00045 ESX_PATCH = FAMILY_ESX+1,
00046 ESX_VERSION = FAMILY_ESX+2
00047 } oval_esx_subtype_enum;
00048
00049 typedef enum{
00050 FREEBSD_PORT_INFO = FAMILY_FREEBSD+1
00051 }oval_freebsd_subtype_enum;
00052
00053 typedef enum {
00054 HPUX_GETCONF = FAMILY_HPUX+1,
00055 HPUX_PATCH_53 = FAMILY_HPUX+2,
00056 HPUX_PATCH = FAMILY_HPUX+3,
00057 HPUX_SOFTWARE_LIST = FAMILY_HPUX+4,
00058 HPUX_TRUSTED_ACCOUNTS = FAMILY_HPUX+5
00059 } oval_hpux_subtype_enum;
00060
00061 typedef enum{
00062 INDEPENDENT_FAMILY = FAMILY_INDEPENDENT+1,
00063 INDEPENDENT_FILE_MD5 = FAMILY_INDEPENDENT+2,
00064 INDEPENDENT_FILE_HASH = FAMILY_INDEPENDENT+3,
00065 INDEPENDENT_ENVIRONMENT_VARIABLE = FAMILY_INDEPENDENT+4,
00066 INDEPENDENT_SQL = FAMILY_INDEPENDENT+5,
00067 INDEPENDENT_TEXT_FILE_CONTENT = FAMILY_INDEPENDENT+6,
00068 INDEPENDENT_UNKNOWN = FAMILY_INDEPENDENT+7,
00069 INDEPENDENT_VARIABLE = FAMILY_INDEPENDENT+8,
00070 INDEPENDENT_XML_FILE_CONTENT = FAMILY_INDEPENDENT+9
00071 } oval_independent_subtype_enum;
00072
00073 typedef enum {
00074 IOS_GLOBAL = FAMILY_IOS+1,
00075 IOS_INTERFACE = FAMILY_IOS+2,
00076 IOS_LINE = FAMILY_IOS+3,
00077 IOS_SNMP = FAMILY_IOS+4,
00078 IOS_TCLSH = FAMILY_IOS+5,
00079 IOS_VERSION_55 = FAMILY_IOS+6
00080 } oval_ios_subtype_enum;
00081
00082 typedef enum {
00083 LINUX_DPKG_INFO = FAMILY_LINUX+1,
00084 LINUX_INET_LISTENING_SERVERS = FAMILY_LINUX+2,
00085 LINUX_RPM_INFO = FAMILY_LINUX+3,
00086 LINUX_SLACKWARE_PKG_INFO_TEST = FAMILY_LINUX+4
00087 } oval_linux_subtype_enum;
00088
00089 typedef enum {
00090 MACOS_ACCOUNT_INFO = FAMILY_MACOS+1,
00091 MACOS_INET_LISTENING_SERVERS = FAMILY_MACOS+2,
00092 MACOS_NVRAM_INFO = FAMILY_MACOS+3,
00093 MACOS_PWPOLICY = FAMILY_MACOS+4
00094 }oval_macos_subtype_enum;
00095
00096 typedef enum {
00097 PIXOS_LINE = FAMILY_PIXOS+1,
00098 PIXOS_VERSION = FAMILY_PIXOS+2
00099 }oval_pixos_subtype_enum;
00100
00101 typedef enum{
00102 SOLARIS_ISAINFO = FAMILY_SOLARIS+1,
00103 SOLARIS_PACKAGE = FAMILY_SOLARIS+2,
00104 SOLARIS_PATCH = FAMILY_SOLARIS+3,
00105 SOLARIS_SMF = FAMILY_SOLARIS+4
00106 }oval_solaris_subtype_enum;
00107
00108 typedef enum{
00109 UNIX_FILE = FAMILY_UNIX+1,
00110 UNIX_INETD = FAMILY_UNIX+2,
00111 UNIX_INTERFACE = FAMILY_UNIX+3,
00112 UNIX_PASSWORD = FAMILY_UNIX+4,
00113 UNIX_PROCESS = FAMILY_UNIX+5,
00114 UNIX_RUNLEVEL = FAMILY_UNIX+6,
00115 UNIX_SCCS = FAMILY_UNIX+7,
00116 UNIX_SHADOW = FAMILY_UNIX+8,
00117 UNIX_UNAME = FAMILY_UNIX+9,
00118 UNIX_XINETD = FAMILY_UNIX+10
00119 }oval_unix_subtype_enum;
00120
00121 typedef enum{
00122 WINDOWS_ACCESS_TOKEN = FAMILY_WINDOWS+1,
00123 WINDOWS_ACTIVE_DIRECTORY = FAMILY_WINDOWS+2,
00124 WINDOWS_AUDIT_EVENT_POLICY = FAMILY_WINDOWS+3,
00125 WINDOWS_AUDIT_EVENT_SUBCATEGORIES = FAMILY_WINDOWS+4,
00126 WINDOWS_FILE = FAMILY_WINDOWS+5,
00127 WINDOWS_FILE_AUDITED_PERMISSIONS_53 = FAMILY_WINDOWS+6,
00128 WINDOWS_FILE_AUDITED_PERMISSIONS = FAMILY_WINDOWS+7,
00129 WINDOWS_FILE_EFFECTIVE_RIGHTS_53 = FAMILY_WINDOWS+8,
00130 WINDOWS_FILE_EFFECTIVE_RIGHTS = FAMILY_WINDOWS+9,
00131 WINDOWS_GROUP = FAMILY_WINDOWS+10,
00132 WINDOWS_GROUP_SID = FAMILY_WINDOWS+11,
00133 WINDOWS_INTERFACE = FAMILY_WINDOWS+12,
00134 WINDOWS_LOCKOUT_POLICY = FAMILY_WINDOWS+13,
00135 WINDOWS_METABASE = FAMILY_WINDOWS+14,
00136 WINDOWS_PASSWORD_POLICY = FAMILY_WINDOWS+15,
00137 WINDOWS_PORT = FAMILY_WINDOWS+16,
00138 WINDOWS_PRINTER_EFFECTIVE_RIGHTS = FAMILY_WINDOWS+17,
00139 WINDOWS_PROCESS = FAMILY_WINDOWS+18,
00140 WINDOWS_REGISTRY = FAMILY_WINDOWS+19,
00141 WINDOWS_REGKEY_AUDITED_PERMISSIONS_53 = FAMILY_WINDOWS+20,
00142 WINDOWS_REGKEY_AUDITED_PERMISSIONS = FAMILY_WINDOWS+21,
00143 WINDOWS_REGKEY_EFFECTIVE_RIGHTS_53 = FAMILY_WINDOWS+22,
00144 WINDOWS_REGKEY_EFFECTIVE_RIGHTS = FAMILY_WINDOWS+23,
00145 WINDOWS_SHARED_RESOURCE = FAMILY_WINDOWS+24,
00146 WINDOWS_SID = FAMILY_WINDOWS+25,
00147 WINDOWS_SID_SID = FAMILY_WINDOWS+26,
00148 WINDOWS_USER_ACCESS_CONTROL = FAMILY_WINDOWS+27,
00149 WINDOWS_USER = FAMILY_WINDOWS+28,
00150 WINDOWS_USER_SID_55 = FAMILY_WINDOWS+29,
00151 WINDOWS_USER_SID = FAMILY_WINDOWS+30,
00152 WINDOWS_VOLUME = FAMILY_WINDOWS+31,
00153 WINDOWS_WMI = FAMILY_WINDOWS+32,
00154 WINDOWS_WUA_UPDATE_SEARCHER = FAMILY_WINDOWS+33
00155 }oval_windows_subtype_enum;
00156
00157 typedef enum {
00158 AFCFML_UNKNOWN,
00159 AFCFML_CATOS,
00160 AFCFML_IOS,
00161 AFCFML_MACOS,
00162 AFCFML_PIXOS,
00163 AFCFML_UNDEFINED,
00164 AFCFML_UNIX,
00165 AFCFML_WINDOWS
00166 } oval_affected_family_enum;
00167
00168 typedef enum {
00169 NODETYPE_UNKNOWN = 0,
00170 NODETYPE_CRITERIA = 1,
00171 NODETYPE_CRITERION = 2,
00172 NODETYPE_EXTENDDEF = 3
00173 } oval_criteria_node_type_enum;
00174
00175 typedef enum {
00176 OPERATOR_UNKNOWN,
00177 OPERATOR_AND,
00178 OPERATOR_ONE,
00179 OPERATOR_OR,
00180 OPERATOR_XOR
00181 } oval_operator_enum;
00182
00183 typedef enum {
00184 CLASS_UNKNOWN,
00185 CLASS_COMPLIANCE,
00186 CLASS_INVENTORY,
00187 CLASS_MISCELLANEOUS,
00188 CLASS_PATCH,
00189 CLASS_VULNERABILITY
00190 } oval_definition_class_enum;
00191
00192 typedef enum {
00193 EXISTENCE_UNKNOWN,
00194 ALL_EXIST,
00195 ANY_EXIST,
00196 AT_LEAST_ONE_EXISTS,
00197 ONLY_ONE_EXISTS
00198 } oval_existence_enum;
00199
00200 typedef enum {
00201 OVAL_CHECK_UNKNOWN,
00202 OVAL_CHECK_ALL,
00203 OVAL_CHECK_AT_LEAST_ONE,
00204 OVAL_CHECK_NONE_EXIST,
00205 OVAL_CHECK_NONE_SATISFY,
00206 OVAL_CHECK_ONLY_ONE
00207 } oval_check_enum;
00208
00209 typedef enum{
00210 OVAL_OBJECTCONTENT_ENTITY,
00211 OVAL_OBJECTCONTENT_SET
00212 } oval_object_content_type_enum;
00213
00214 typedef enum{
00215 OVAL_ENTITY_TYPE_UNKNOWN,
00216 OVAL_ENTITY_TYPE_ANY,
00217 OVAL_ENTITY_TYPE_BINARY,
00218 OVAL_ENTITY_TYPE_BOOLEAN,
00219 OVAL_ENTITY_TYPE_FLOAT,
00220 OVAL_ENTITY_TYPE_INTEGER,
00221 OVAL_ENTITY_TYPE_STRING,
00222 }oval_entity_type_enum;
00223
00224 typedef enum{
00225 OVAL_DATATYPE_UNKNOWN,
00226 OVAL_DATATYPE_BINARY,
00227 OVAL_DATATYPE_BOOLEAN,
00228 OVAL_DATATYPE_EVR_STRING,
00229 OVAL_DATATYPE_FILESET_REVISTION,
00230 OVAL_DATATYPE_FLOAT,
00231 OVAL_DATATYPE_IOS_VERSION,
00232 OVAL_DATATYPE_VERSION,
00233 OVAL_DATATYPE_INTEGER,
00234 OVAL_DATATYPE_STRING
00235 }oval_datatype_enum;;
00236
00237 typedef enum{
00238 OVAL_ENTITY_VARREF_UNKNOWN,
00239 OVAL_ENTITY_VARREF_NONE,
00240 OVAL_ENTITY_VARREF_ATTRIBUTE,
00241 OVAL_ENTITY_VARREF_ELEMENT
00242 } oval_entity_varref_type_enum;
00243
00244 typedef enum{
00245 OVAL_SET_AGGREGATE,
00246 OVAL_SET_COLLECTIVE
00247 }oval_set_type_enum;
00248
00249 typedef enum{
00250 OVAL_SET_OPERATION_UNKNOWN,
00251 OVAL_SET_OPERATION_COMPLEMENT,
00252 OVAL_SET_OPERATION_INTERSECTION,
00253 OVAL_SET_OPERATION_UNION
00254 }oval_set_operation_enum;
00255
00256 typedef enum{
00257 OVAL_VARIABLE_UNKNOWN,
00258 OVAL_VARIABLE_EXTERNAL,
00259 OVAL_VARIABLE_CONSTANT,
00260 OVAL_VARIABLE_LOCAL
00261 }oval_variable_type_enum;
00262
00263 typedef enum{
00264 OVAL_COMPONENT_LITERAL,
00265 OVAL_COMPONENT_OBJECTREF,
00266 OVAL_COMPONENT_VARREF,
00267 OVAL_COMPONENT_FUNCTION
00268 }oval_component_type_enum;
00269
00270 typedef enum{
00271 OVAL_FUNCTION_UNKNOWN,
00272 OVAL_FUNCTION_BEGIN,
00273 OVAL_FUNCTION_CONCAT,
00274 OVAL_FUNCTION_END,
00275 OVAL_FUNCTION_SPLIT,
00276 OVAL_FUNCTION_SUBSTRING,
00277 OVAL_FUNCTION_TIMEDIF,
00278 OVAL_FUNCTION_ESCAPE_REGEX,
00279 OVAL_FUNCTION_REGEX_CAPTURE,
00280 OVAL_FUNCTION_ARITHMATIC
00281 }oval_function_type_enum;
00282
00283 struct oval_iterator_string_s;
00284
00285 struct oval_affected_s;
00286 struct oval_iterator_affected_s;
00287
00288 struct oval_test_s;
00289 struct oval_iterator_test_s;
00290
00291 struct oval_criteria_node_s;
00292 struct oval_iterator_criteria_node_s;
00293
00294 struct oval_reference_s;
00295 struct oval_iterator_reference_s;
00296
00297 struct oval_definition_s;
00298 struct oval_iterator_definition_s;
00299
00300 struct oval_object_s;
00301 struct oval_iterator_object_s;
00302
00303 struct oval_state_s;
00304 struct oval_iterator_state_s;
00305
00306 struct oval_variable_s;
00307 struct oval_iterator_variable_s;
00308
00309 struct oval_variable_binding_s;
00310 struct oval_iterator_variable_binding_s;
00311
00312 struct oval_object_content_s;
00313 struct oval_iterator_object_content_s;
00314
00315 struct oval_behavior_s;
00316 struct oval_iterator_behavior_s;
00317
00318 struct oval_entity_s;
00319 struct oval_iterator_entity_s;
00320
00321 struct oval_iterator_set_s;
00322 struct oval_set_s;
00323
00324 struct oval_value_s;
00325 struct oval_iterator_value_s;
00326
00327 struct oval_component_s;
00328 struct oval_iterator_component_s;
00329
00330 int oval_iterator_string_has_more(struct oval_iterator_string_s*);
00331 char *oval_iterator_string_next (struct oval_iterator_string_s*);
00332
00333 int oval_iterator_affected_has_more (struct oval_iterator_affected_s*);
00334 struct oval_affected_s *oval_iterator_affected_next(struct oval_iterator_affected_s*);
00335
00336 int oval_iterator_test_has_more (struct oval_iterator_test_s*);
00337 struct oval_test_s *oval_iterator_test_next(struct oval_iterator_test_s*);
00338
00339 oval_affected_family_enum oval_affected_family (struct oval_affected_s*);
00340 struct oval_iterator_string_s *oval_affected_platform(struct oval_affected_s*);
00341 struct oval_iterator_string_s *oval_affected_product (struct oval_affected_s*);
00342
00343 int oval_iterator_criteria_node_has_more (struct oval_iterator_criteria_node_s*);
00344 struct oval_criteria_node_s *oval_iterator_criteria_node_next(struct oval_iterator_criteria_node_s*);
00345
00346 oval_criteria_node_type_enum oval_criteria_node_type (struct oval_criteria_node_s*);
00347 int oval_criteria_node_negate (struct oval_criteria_node_s*);
00348 char *oval_criteria_node_comment (struct oval_criteria_node_s*);
00349 oval_operator_enum oval_criteria_node_operator (struct oval_criteria_node_s*);
00350 struct oval_iterator_criteria_node_s *oval_criteria_node_subnodes (struct oval_criteria_node_s*);
00351 struct oval_test_s *oval_criteria_node_test (struct oval_criteria_node_s*);
00352 struct oval_definition_s *oval_criteria_node_definition (struct oval_criteria_node_s*);
00353
00354 int oval_iterator_reference_has_more (struct oval_iterator_reference_s*);
00355 struct oval_reference_s *oval_iterator_reference_next(struct oval_iterator_reference_s*);
00356
00357 char *oval_reference_source(struct oval_reference_s*);
00358 char *oval_reference_id (struct oval_reference_s*);
00359 char *oval_reference_url (struct oval_reference_s*);
00360
00361 int oval_iterator_definition_has_more (struct oval_iterator_definition_s*);
00362 struct oval_definition_s *oval_iterator_definition_next(struct oval_iterator_definition_s*);
00363
00364 char *oval_definition_id (struct oval_definition_s*);
00365 int oval_definition_version (struct oval_definition_s*);
00366 oval_definition_class_enum oval_definition_class (struct oval_definition_s*);
00367 int oval_definition_deprecated (struct oval_definition_s*);
00368 char *oval_definition_title (struct oval_definition_s*);
00369 char *oval_definition_description (struct oval_definition_s*);
00370 struct oval_iterator_affected_s *oval_definition_affected (struct oval_definition_s*);
00371 struct oval_iterator_reference_s *oval_definition_reference (struct oval_definition_s*);
00372 struct oval_criteria_node_s *oval_definition_criteria (struct oval_definition_s*);
00373
00374 int oval_iterator_object_has_more (struct oval_iterator_object_s*);
00375 struct oval_object_s *oval_iterator_object_next(struct oval_iterator_object_s*);
00376
00377 oval_family_enum oval_object_family (struct oval_object_s*);
00378 oval_subtype_enum oval_object_subtype (struct oval_object_s*);
00379 char *oval_object_name (struct oval_object_s*);
00380 struct oval_iterator_string_s *oval_object_notes (struct oval_object_s*);
00381 char *oval_object_comment (struct oval_object_s*);
00382 char *oval_object_id (struct oval_object_s*);
00383 int oval_object_deprecated (struct oval_object_s*);
00384 int oval_object_version (struct oval_object_s*);
00385 struct oval_iterator_object_content_s *oval_object_object_content(struct oval_object_s*);
00386 struct oval_iterator_behavior_s *oval_object_behaviors (struct oval_object_s*);
00387
00388 int oval_iterator_test_has_more (struct oval_iterator_test_s*);
00389 struct oval_test_s *oval_iterator_test_next(struct oval_iterator_test_s*);
00390
00391 oval_family_enum oval_test_family (struct oval_test_s*);
00392 oval_subtype_enum oval_test_subtype (struct oval_test_s*);
00393 struct oval_iterator_string_s *oval_test_notes (struct oval_test_s*);
00394 char *oval_test_comment (struct oval_test_s*);
00395 char *oval_test_id (struct oval_test_s*);
00396 int oval_test_deprecated (struct oval_test_s*);
00397 int oval_test_version (struct oval_test_s*);
00398 oval_existence_enum oval_test_existence (struct oval_test_s*);
00399 oval_check_enum oval_test_check (struct oval_test_s*);
00400 struct oval_object_s *oval_test_object (struct oval_test_s*);
00401 struct oval_state_s *oval_test_state (struct oval_test_s*);
00402
00403 int oval_iterator_variable_binding_has_more (struct oval_iterator_variable_binding_s*);
00404 struct oval_variable_binding_s *oval_iterator_variable_binding_next (struct oval_iterator_variable_binding_s*);
00405
00406 struct oval_variable_s *oval_variable_binding_variable(struct oval_variable_binding_s*);
00407 char *oval_variable_binding_value (struct oval_variable_binding_s*);
00408
00409 int oval_iterator_object_content_has_more (struct oval_iterator_object_content_s*);
00410 struct oval_object_content_s *oval_iterator_object_content_next(struct oval_iterator_object_content_s*);
00411
00412 char *oval_object_content_field_name (struct oval_object_content_s*);
00413 oval_object_content_type_enum oval_object_content_type(struct oval_object_content_s*);
00414 struct oval_entity_s *oval_object_content_entity (struct oval_object_content_s*);
00415 oval_check_enum oval_object_content_varCheck (struct oval_object_content_s*);
00416 struct oval_set_s *oval_object_content_set (struct oval_object_content_s*);
00417
00418 int oval_iterator_entity_has_more (struct oval_iterator_entity_s*);
00419 struct oval_entity_s *oval_iterator_entity_next(struct oval_iterator_entity_s*);
00420
00421 oval_entity_type_enum oval_entity_type (struct oval_entity_s*);
00422 oval_datatype_enum oval_entity_datatype (struct oval_entity_s*);
00423 oval_operator_enum oval_entity_operator (struct oval_entity_s*);
00424 int oval_entity_mask (struct oval_entity_s*);
00425 oval_entity_varref_type_enum oval_entity_varref_type(struct oval_entity_s*);
00426 struct oval_variable_s *oval_entity_variable (struct oval_entity_s*);
00427 struct oval_value_s *oval_entity_value (struct oval_entity_s*);
00428
00429 int oval_iterator_set_has_more (struct oval_iterator_set_s*);
00430 struct oval_set_s *oval_iterator_set_next(struct oval_iterator_set_s*);
00431
00432 oval_set_type_enum oval_set_type (struct oval_set_s*);
00433 oval_set_operation_enum oval_set_operation (struct oval_set_s*);
00434 struct oval_iterator_set_s *oval_set_subsets (struct oval_set_s*);
00435 struct oval_iterator_object_s *oval_set_objects(struct oval_set_s*);
00436 struct oval_iterator_state_s *oval_set_filters (struct oval_set_s*);
00437
00438 int oval_iterator_behavior_has_more (struct oval_iterator_behavior_s*);
00439 struct oval_behavior_s *oval_iterator_behavior_next(struct oval_iterator_behavior_s*);
00440
00441 struct oval_value_s *oval_behavior_value (struct oval_behavior_s*);
00442 struct oval_iterator_string_s *oval_behavior_attribute_keys(struct oval_behavior_s*);
00443 struct oval_value_s *oval_behavior_value_for_key (struct oval_behavior_s*, char *attribute_key);
00444
00445 int oval_iterator_value_has_more (struct oval_iterator_value_s*);
00446 struct oval_value_s *oval_iterator_value_next(struct oval_iterator_value_s*);
00447
00448 oval_datatype_enum oval_value_datatype(struct oval_value_s*);
00449 char *oval_value_text (struct oval_value_s*);
00450 unsigned char *oval_value_binary (struct oval_value_s*);
00451 char oval_value_boolean (struct oval_value_s*);
00452 float oval_value_float (struct oval_value_s*);
00453 long oval_value_integer (struct oval_value_s*);
00454
00455
00456 int oval_iterator_state_has_more (struct oval_iterator_state_s*);
00457 struct oval_state_s *oval_iterator_state_next(struct oval_iterator_state_s*);
00458
00459 oval_family_enum oval_state_family (struct oval_state_s*);
00460 oval_subtype_enum oval_state_subtype (struct oval_state_s*);
00461 char *oval_state_name (struct oval_state_s*);
00462 struct oval_iterator_string_s *oval_state_notes(struct oval_state_s*);
00463 char *oval_state_comment (struct oval_state_s*);
00464 char *oval_state_id (struct oval_state_s*);
00465 int oval_state_deprecated (struct oval_state_s*);
00466 int oval_state_version (struct oval_state_s*);
00467
00468 int oval_iterator_variable_has_more (struct oval_iterator_variable_s*);
00469 struct oval_variable_s *oval_iterator_variable_next(struct oval_iterator_variable_s*);
00470
00471 char *oval_variable_id (struct oval_variable_s*);
00472 oval_variable_type_enum oval_variable_type (struct oval_variable_s*);
00473 oval_datatype_enum oval_variable_datatype (struct oval_variable_s*);
00474 struct oval_iterator_value_s *oval_variable_values (struct oval_variable_s*);
00475 struct oval_component_s *oval_variable_component (struct oval_variable_s*);
00476
00477 int oval_iterator_component_has_more (struct oval_iterator_component_s*);
00478 struct oval_component_s *oval_iterator_component_next(struct oval_iterator_component_s*);
00479
00480 oval_component_type_enum oval_component_type (struct oval_component_s*);
00481 struct oval_value_s *oval_component_literal_value (struct oval_component_s*);
00482 struct oval_object_s *oval_component_object (struct oval_component_s*);
00483 char *oval_component_object_field (struct oval_component_s*);
00484 struct oval_variable_s *oval_component_variable (struct oval_component_s*);
00485 oval_function_type_enum oval_component_function_type (struct oval_component_s*);
00486 struct oval_iterator_component_s *oval_component_function_components(struct oval_component_s*);
00487 struct oval_iterator_string_s *oval_component_function_keys (struct oval_component_s*);
00488 struct oval_value_s *oval_component_function_value (struct oval_component_s*, char *key_s);
00489
00490 #endif