diff -u -r a/src/OVAL/api/oval_agent_api.h b/src/OVAL/api/oval_agent_api.h --- a/src/OVAL/api/oval_agent_api.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/api/oval_agent_api.h 2009-09-22 08:29:36 -0400 @@ -44,32 +44,34 @@ #include "oval_system_characteristics.h" #include "oval_results.h" -struct export_target; -struct import_source; +struct oval_export_target; +struct oval_import_source; /** * Create an import source from filename. * Return an import_source that streams from a designated file. * @param filename the name of the designated file */ -struct import_source *import_source_file(char *filename); +struct oval_import_source *oval_import_source_new_file(char *filename); + /** free a specified import_source. * @param source the specified import_source */ -void import_source_free( - struct import_source *source); +void oval_import_source_free( + struct oval_import_source *source); /** create export_target object. * Return the created export_target object. * @param filename the name of the target output file * @param encoding the target XML encoding. */ -struct export_target *export_target_new(char *filename, char* encoding); +struct oval_export_target *oval_export_target_new_file(char *filename, char* encoding); /** free an export_target object. * @param target the target to be freed. */ -void export_target_free(struct export_target *target); +void export_target_free(struct oval_export_target *target); + /** * @struct oval_object_model @@ -114,12 +116,12 @@ OVAL_LOG_INFO = 15, OVAL_LOG_DEBUG = 16, OVAL_LOG_WARN = 17 -} oval_xml_severity_enum; +} oval_xml_severity_t; struct oval_xml_error { void *user_arg; char *message; - oval_xml_severity_enum severity; + oval_xml_severity_t severity; int line_number; char *system_id; }; @@ -138,33 +140,11 @@ * @param error_handler callback for detected error conditions (may be NULL) * @param client pointer to client data (may be NULL) */ -void load_oval_definitions( +void oval_object_model_load( struct oval_object_model *model, - struct import_source *source, + struct oval_import_source *source, oval_xml_error_handler error_handler, void *client); -/** - * Update OVAL definitions. - * A new oval_object_model is created and returned by the update_oval_definitions. - * If the oldModel contains a model entity (id=A, version=V) and the imput_source specifies no entity (id=A, ...) then (id=A, version=V) is contained by the returned model. - * If the oldModel contains a model entity (id=A, version=V1) then the new model contains a content model entity (id=A, version=V2) then the new model contains (id=A, version=V2) if and only if V1 XML stream - * @param error_handler callback for detected error conditions (may be NULL) - * @param client pointer to client data (may be NULL) - */ -struct oval_object_model *update_oval_definitions( - struct oval_object_model *oldModel, - struct import_source *source, - oval_xml_error_handler error_handler, void *client); /** @@ -175,7 +155,7 @@ * @param model the queried model. * @param id the definition id. */ -struct oval_definition *get_oval_definition( +struct oval_definition *oval_object_model_get_definition( struct oval_object_model *model, char *id); @@ -187,7 +167,7 @@ * @param model the queried model. * @param id the test id. */ -struct oval_test *get_oval_test( +struct oval_test *oval_object_model_get_test( struct oval_object_model *model, char *id); @@ -199,7 +179,7 @@ * @param model the queried model. * @param id the object id. */ -struct oval_object *get_oval_object( +struct oval_object *oval_object_model_get_object( struct oval_object_model *model, char *id); @@ -211,7 +191,7 @@ * @param model the queried model. * @param id the state id. */ -struct oval_state *get_oval_state( +struct oval_state *oval_object_model_get_state( struct oval_object_model *model, char *id); @@ -223,7 +203,7 @@ * @param model the queried model. * @param id the variable id. */ -struct oval_variable *get_oval_variable( +struct oval_variable *oval_object_model_get_variable( struct oval_object_model *model, char *id); @@ -233,7 +213,7 @@ * @relates oval_object_model * @param model the queried model. */ -struct oval_iterator_definition *get_oval_definitions( +struct oval_definition_iterator *oval_object_model_get_definitions( struct oval_object_model *model); /** @@ -242,7 +222,7 @@ * @relates oval_object_model * @param model the queried model. */ -struct oval_iterator_test *get_oval_tests( +struct oval_test_iterator *oval_object_model_get_tests( struct oval_object_model *model); /** @@ -251,7 +231,7 @@ * @relates oval_object_model * @param model the queried model. */ -struct oval_iterator_object *get_oval_objects( +struct oval_object_iterator *oval_object_model_get_objects( struct oval_object_model *model); /** @@ -260,7 +240,7 @@ * @relates oval_object_model * @param model the queried model. */ -struct oval_iterator_state *get_oval_states( +struct oval_state_iterator *oval_object_model_get_states( struct oval_object_model *model); /** @@ -269,11 +249,11 @@ * @relates oval_object_model * @param model the queried model. */ -struct oval_iterator_variable *get_oval_variables( +struct oval_variable_iterator *oval_object_model_get_variables( struct oval_object_model *model); -int export_definitions( - struct oval_object_model *, struct export_target *); +int oval_object_model_export( + struct oval_object_model *, struct oval_export_target *); /** * Create new oval_syschar_model. @@ -284,7 +264,7 @@ */ struct oval_syschar_model *oval_syschar_model_new( struct oval_object_model *object_model, - struct oval_iterator_variable_binding *bindings); + struct oval_variable_binding_iterator *bindings); @@ -300,14 +280,14 @@ * @relates oval_syschar_model * @param model the specified oval_syschar_model. */ -struct oval_object_model *oval_syschar_model_object_model( +struct oval_object_model *oval_syschar_model_get_object_model( struct oval_syschar_model *model); /** * Return an iterator over the oval_sychar objects persisted by this model. * @relates oval_syschar_model * @param model the specified oval_syschar_model. */ -struct oval_iterator_syschar *oval_syschar_model_syschars( +struct oval_syschar_iterator *oval_syschar_model_get_syschars( struct oval_syschar_model *model); /** @@ -315,7 +295,7 @@ * @relates oval_syschar_model * @param model the specified oval_syschar_model. */ -struct oval_sysinfo *oval_syschar_model_sysinfo( +struct oval_sysinfo *oval_syschar_model_get_sysinfo( struct oval_syschar_model *model); /** @@ -326,7 +306,7 @@ * @param object_id the specified object_id. */ -struct oval_syschar *get_oval_syschar( +struct oval_syschar *oval_syschar_model_get_syschar( struct oval_syschar_model *model, char *object_id); @@ -340,14 +320,14 @@ * Export system characteristics as a XML file. * @relates oval_syschar_model */ -int export_characteristics( - struct oval_syschar_model *, struct export_target *); +int oval_syschar_model_export( + struct oval_syschar_model *, struct oval_export_target *); /** * Load OVAL system characteristics from a file. * @relates oval_syschar_model */ -void load_oval_syschar(struct oval_syschar_model*, struct import_source*, +void oval_syschar_model_load(struct oval_syschar_model*, struct oval_import_source*, oval_xml_error_handler, void*); /** @@ -372,7 +352,7 @@ * @relates oval_results_model * @param model the specified oval_results_model. */ -struct oval_object_model *oval_results_model_object_model +struct oval_object_model *oval_results_model_get_object_model (struct oval_results_model *model); /** @@ -380,15 +360,8 @@ * @relates oval_results_model * @param model the specified results model */ -struct oval_iterator_result_system *oval_results_model_systems +struct oval_result_system_iterator *oval_results_model_get_systems (struct oval_results_model *); -/** - * Return an iterator over the oval_sychar objects persisted by this model. - * @relates oval_results_model - * @param model the specified oval_results_model. - */ -struct oval_iterator_results *oval_results_model_results( - struct oval_results_model *model); /** * load oval results from XML file. @@ -398,8 +371,8 @@ * @param error_handler the error handler * @param client_data client data; */ -struct oval_result_directives *load_oval_results - (struct oval_results_model *, struct import_source *, +struct oval_result_directives *oval_results_model_load + (struct oval_results_model *, struct oval_import_source *, oval_xml_error_handler, void*); /** @@ -419,7 +392,7 @@ * @param model the oval_results_model * @param target the export target stream (XML) */ -int export_results(struct oval_results_model *, struct oval_result_directives *, struct export_target *); +int oval_results_model_export(struct oval_results_model *, struct oval_result_directives *, struct oval_export_target *); /* * Return default sysinfo bound to results model. @@ -440,15 +413,10 @@ * @relates oval_test */ struct oval_result_test *resolve_test(struct oval_test *, - struct oval_iterator_syschar *, - struct oval_iterator_variable_binding *); - -/** - * Resolve single OVAL definition. - * @relates oval_definition - */ + struct oval_syschar_iterator *, + struct oval_variable_binding_iterator *); struct oval_result *resolve_definition(struct oval_definition *, - struct oval_iterator_syschar *, - struct oval_iterator_variable_binding *); + struct oval_syschar_iterator *, + struct oval_variable_binding_iterator *); #endif /**OVAL_AGENT_API_H_ */ diff -u -r a/src/OVAL/api/oval_definitions.h b/src/OVAL/api/oval_definitions.h --- a/src/OVAL/api/oval_definitions.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/api/oval_definitions.h 2009-09-22 08:23:51 -0400 @@ -127,25 +127,25 @@ * @see oval_windows_subtype_enum */ FAMILY_WINDOWS = 14000 -} oval_family_enum; +} oval_family_t; /// Unknown subtypes typedef enum { OVAL_SUBTYPE_UNKNOWN = 0 -} oval_subtype_enum; +} oval_subtype_t; /// AIX subtypes typedef enum { AIX_FILESET = 1001, AIX_FIX = FAMILY_AIX + 2, AIX_OSLEVEL = FAMILY_AIX + 3 -} oval_aix_subtype_enum; +} oval_aix_subtype_t; /// Apache subtypes typedef enum { APACHE_HTTPD = FAMILY_APACHE + 1, APACHE_VERSION = FAMILY_APACHE + 2 -} oval_apache_subtype_enum; +} oval_apache_subtype_t; /// CatOS subtypes typedef enum { @@ -153,18 +153,18 @@ CATOS_MODULE = FAMILY_CATOS + 2, CATOS_VERSION_55 = FAMILY_CATOS + 3, CATOS_VERSION = FAMILY_CATOS + 4 -} oval_catos_subtype_enum; +} oval_catos_subtype_t; /// ESX subtypes typedef enum { ESX_PATCH = FAMILY_ESX + 1, ESX_VERSION = FAMILY_ESX + 2 -} oval_esx_subtype_enum; +} oval_esx_subtype_t; /// FreeBSD subtypes typedef enum { FREEBSD_PORT_INFO = FAMILY_FREEBSD + 1 -} oval_freebsd_subtype_enum; +} oval_freebsd_subtype_t; /// HPUX subtypes typedef enum { @@ -173,7 +173,7 @@ HPUX_PATCH = FAMILY_HPUX + 3, HPUX_SOFTWARE_LIST = FAMILY_HPUX + 4, HPUX_TRUSTED_ACCOUNTS = FAMILY_HPUX + 5 -} oval_hpux_subtype_enum; +} oval_hpux_subtype_t; /// Platform independent subtypes typedef enum { @@ -187,7 +187,7 @@ INDEPENDENT_UNKNOWN = FAMILY_INDEPENDENT + 8, INDEPENDENT_VARIABLE = FAMILY_INDEPENDENT + 9, INDEPENDENT_XML_FILE_CONTENT = FAMILY_INDEPENDENT + 10 -} oval_independent_subtype_enum; +} oval_independent_subtype_t; /// IOS subtypes typedef enum { @@ -197,7 +197,7 @@ IOS_SNMP = FAMILY_IOS + 4, IOS_TCLSH = FAMILY_IOS + 5, IOS_VERSION_55 = FAMILY_IOS + 6 -} oval_ios_subtype_enum; +} oval_ios_subtype_t; /// Linux subtypes typedef enum { @@ -205,7 +205,7 @@ LINUX_INET_LISTENING_SERVERS = FAMILY_LINUX + 2, LINUX_RPM_INFO = FAMILY_LINUX + 3, LINUX_SLACKWARE_PKG_INFO_TEST = FAMILY_LINUX + 4 -} oval_linux_subtype_enum; +} oval_linux_subtype_t; /// MacOS subtypes typedef enum { @@ -213,13 +213,13 @@ MACOS_INET_LISTENING_SERVERS = FAMILY_MACOS + 2, MACOS_NVRAM_INFO = FAMILY_MACOS + 3, MACOS_PWPOLICY = FAMILY_MACOS + 4 -} oval_macos_subtype_enum; +} oval_macos_subtype_t; /// PIXOS subtypes typedef enum { PIXOS_LINE = FAMILY_PIXOS + 1, PIXOS_VERSION = FAMILY_PIXOS + 2 -} oval_pixos_subtype_enum; +} oval_pixos_subtype_t; /// Solaris subtypes typedef enum { @@ -227,7 +227,7 @@ SOLARIS_PACKAGE = FAMILY_SOLARIS + 2, SOLARIS_PATCH = FAMILY_SOLARIS + 3, SOLARIS_SMF = FAMILY_SOLARIS + 4 -} oval_solaris_subtype_enum; +} oval_solaris_subtype_t; /// Unix subtypes typedef enum { @@ -241,7 +241,7 @@ UNIX_SHADOW = FAMILY_UNIX + 8, UNIX_UNAME = FAMILY_UNIX + 9, UNIX_XINETD = FAMILY_UNIX + 10 -} oval_unix_subtype_enum; +} oval_unix_subtype_t; /// Windows subtypes typedef enum { @@ -278,7 +278,7 @@ WINDOWS_VOLUME = FAMILY_WINDOWS + 31, WINDOWS_WMI = FAMILY_WINDOWS + 32, WINDOWS_WUA_UPDATE_SEARCHER = FAMILY_WINDOWS + 33 -} oval_windows_subtype_enum; +} oval_windows_subtype_t; /// Affected family enumeration typedef enum { @@ -290,7 +290,7 @@ AFCFML_UNDEFINED= 5, AFCFML_UNIX = 6, AFCFML_WINDOWS = 7 -} oval_affected_family_enum; +} oval_affected_family_t; /// Criteria node type typedef enum { @@ -298,7 +298,7 @@ NODETYPE_CRITERIA = 1, NODETYPE_CRITERION = 2, NODETYPE_EXTENDDEF = 3 -} oval_criteria_node_type_enum; +} oval_criteria_node_type_t; /// Boolean operators typedef enum { @@ -307,7 +307,7 @@ OPERATOR_ONE = 2, OPERATOR_OR = 3, OPERATOR_XOR = 4 -} oval_operator_enum; +} oval_operator_t; /// Operations typedef enum { @@ -323,7 +323,7 @@ OPERATION_BITWISE_AND = 9, OPERATION_BITWISE_OR = 10, OPERATION_PATTERN_MATCH = 11 -} oval_operation_enum; +} oval_operation_t; /// Definition classes typedef enum { @@ -333,7 +333,7 @@ CLASS_MISCELLANEOUS= 3, CLASS_PATCH = 4, CLASS_VULNERABILITY= 5, -} oval_definition_class_enum; +} oval_definition_class_t; /// Existence check enumeration typedef enum { @@ -343,7 +343,7 @@ AT_LEAST_ONE_EXISTS= 3, ONLY_ONE_EXISTS = 4, NONE_EXIST = 5 -} oval_existence_enum; +} oval_existence_t; /// Check enumeration typedef enum { @@ -353,14 +353,14 @@ OVAL_CHECK_NONE_EXIST = 3, OVAL_CHECK_NONE_SATISFY= 4, OVAL_CHECK_ONLY_ONE = 5 -} oval_check_enum; +} oval_check_t; /// Type of object content typedef enum { OVAL_OBJECTCONTENT_UNKNOWN = 0, OVAL_OBJECTCONTENT_ENTITY = 1, OVAL_OBJECTCONTENT_SET = 2 -} oval_object_content_type_enum; +} oval_object_content_type_t; /// Type of OVAL entity typedef enum { @@ -371,7 +371,7 @@ OVAL_ENTITY_TYPE_FLOAT, OVAL_ENTITY_TYPE_INTEGER, OVAL_ENTITY_TYPE_STRING, -} oval_entity_type_enum; +} oval_entity_type_t; /// Datatypes typedef enum { @@ -385,7 +385,7 @@ OVAL_DATATYPE_VERSION = 7, OVAL_DATATYPE_INTEGER = 8, OVAL_DATATYPE_STRING = 9 -} oval_datatype_enum; +} oval_datatype_t; /// Varref types typedef enum { @@ -393,14 +393,14 @@ OVAL_ENTITY_VARREF_NONE, OVAL_ENTITY_VARREF_ATTRIBUTE, OVAL_ENTITY_VARREF_ELEMENT -} oval_entity_varref_type_enum; +} oval_entity_varref_type_t; /// OVAL set object types typedef enum { OVAL_SET_UNKNOWN, OVAL_SET_AGGREGATE, OVAL_SET_COLLECTIVE -} oval_set_type_enum; +} oval_set_type_t; /// Set operations typedef enum { @@ -408,7 +408,7 @@ OVAL_SET_OPERATION_COMPLEMENT = 1, OVAL_SET_OPERATION_INTERSECTION = 2, OVAL_SET_OPERATION_UNION = 3 -} oval_set_operation_enum; +} oval_set_operation_t; /// OVAL variable types typedef enum { @@ -416,7 +416,7 @@ OVAL_VARIABLE_EXTERNAL, OVAL_VARIABLE_CONSTANT, OVAL_VARIABLE_LOCAL -} oval_variable_type_enum; +} oval_variable_type_t; #define OVAL_FUNCTION 10 /// Component types @@ -435,7 +435,7 @@ OVAL_FUNCTION_ESCAPE_REGEX = OVAL_FUNCTION + 7, OVAL_FUNCTION_REGEX_CAPTURE = OVAL_FUNCTION + 8, OVAL_FUNCTION_ARITHMETIC = OVAL_FUNCTION + 9 -} oval_component_type_enum; +} oval_component_type_t; /// Arithmetic format enumeration typedef enum { @@ -444,7 +444,7 @@ OVAL_ARITHMETIC_MULTIPLY =2, OVAL_ARITHMETIC_SUBTRACT =3, //NOT YET SUPPORTED BY OVAL OVAL_ARITHMETIC_DIVIDE =4 //NOT YET SUPPORTED BY OVAL -} oval_arithmetic_operation_enum; +} oval_arithmetic_operation_t; /// Datetime format enumeration. typedef enum { @@ -454,7 +454,7 @@ OVAL_DATETIME_DAY_MONTH_YEAR = 3, OVAL_DATETIME_WIN_FILETIME = 4, OVAL_DATETIME_SECONDS_SINCE_EPOCH = 5 -} oval_datetime_format_enum; +} oval_datetime_format_t; /// Message level. typedef enum { @@ -464,9 +464,9 @@ OVAL_MESSAGE_LEVEL_WARNING = 3, OVAL_MESSAGE_LEVEL_ERROR = 4, OVAL_MESSAGE_LEVEL_FATAL = 5 -} oval_message_level_enum; +} oval_message_level_t; -struct oval_iterator_string; +struct oval_string_iterator; /** @@ -474,879 +474,857 @@ * OVAL affected description. */ struct oval_affected; -struct oval_iterator_affected; +struct oval_affected_iterator; /** * @struct oval_test * OVAL test. */ struct oval_test; -struct oval_iterator_test; +struct oval_test_iterator; /** * @struct oval_criteria_node * OVAL criteria node. */ struct oval_criteria_node; -struct oval_iterator_criteria_node; +struct oval_criteria_node_iterator; /** * @struct oval_reference * OVAL reference */ struct oval_reference; -struct oval_iterator_reference; +struct oval_reference_iterator; /** * @struct oval_definition * OVAL definition */ struct oval_definition; -struct oval_iterator_definition; +struct oval_definition_iterator; /** * @struct oval_object * OVAL object. */ struct oval_object; -struct oval_iterator_object; +struct oval_object_iterator; /** * @struct oval_state * OVAL state. */ struct oval_state; -struct oval_iterator_state; +struct oval_state_iterator; /** * @struct oval_variable * OVAL variable. */ struct oval_variable; -struct oval_iterator_variable; +struct oval_variable_iterator; /** * @struct oval_variable_binding * Binding of an value to an OVAL variable. */ struct oval_variable_binding; -struct oval_iterator_variable_binding; +struct oval_variable_binding_iterator; /** * @struct oval_object_content * OVAL object content. */ struct oval_object_content; -struct oval_iterator_object_content; +struct oval_object_content_iterator; /** * @struct oval_state_content * OVAL state content. */ struct oval_state_content; -struct oval_iterator_state_content; +struct oval_state_content_iterator; /** * @struct oval_behavior * OVAL behavior */ struct oval_behavior; -struct oval_iterator_behavior; +struct oval_behavior_iterator; /** * @struct oval_entity * OVAL entity */ struct oval_entity; -struct oval_iterator_entity; +struct oval_entity_iterator; /** * @struct oval_set * OVAL set object */ struct oval_set; -struct oval_iterator_set; +struct oval_set_iterator; /** * @struct oval_value * OVAL object or item entity value */ struct oval_value; -struct oval_iterator_value; +struct oval_value_iterator; /** * @struct oval_component * OVAL variable component */ struct oval_component; -struct oval_iterator_component; +struct oval_component_iterator; /** * @struct oval_message * OVAL message */ struct oval_message; -struct oval_iterator_message; +struct oval_message_iterator; -int oval_iterator_string_has_more(struct oval_iterator_string *); -char *oval_iterator_string_next(struct oval_iterator_string *); - -int oval_iterator_affected_has_more(struct oval_iterator_affected *); -struct oval_affected *oval_iterator_affected_next(struct oval_iterator_affected - *); - -int oval_iterator_test_has_more(struct oval_iterator_test *); -struct oval_test *oval_iterator_test_next(struct oval_iterator_test *); +int oval_string_iterator_has_more(struct oval_string_iterator *); +char *oval_string_iterator_next (struct oval_string_iterator *); +int oval_affected_iterator_has_more(struct oval_affected_iterator *); +struct oval_affected *oval_affected_iterator_next (struct oval_affected_iterator *); /** * Get family from an affected platform description. * @relates oval_affected */ -oval_affected_family_enum oval_affected_family(struct oval_affected *); +oval_affected_family_t oval_affected_get_family (struct oval_affected *); /** * Get platforms from an affected platform description. * @relates oval_affected */ -struct oval_iterator_string *oval_affected_platform(struct oval_affected *); +struct oval_string_iterator *oval_affected_get_platform(struct oval_affected *); /** * Get product names from an affected platform description. * @relates oval_affected */ -struct oval_iterator_string *oval_affected_product(struct oval_affected *); +struct oval_string_iterator *oval_affected_get_product (struct oval_affected *); -int oval_iterator_criteria_node_has_more(struct oval_iterator_criteria_node *); -struct oval_criteria_node *oval_iterator_criteria_node_next(struct - oval_iterator_criteria_node - *); +int oval_criteria_node_iterator_has_more(struct oval_criteria_node_iterator *); +struct oval_criteria_node *oval_criteria_node_iterator_next(struct oval_criteria_node_iterator *); /** * Get OVAL criteria node type. * @relates oval_criteria_node */ -oval_criteria_node_type_enum oval_criteria_node_type(struct oval_criteria_node - *); +oval_criteria_node_type_t oval_criteria_node_get_type (struct oval_criteria_node *); /** * Get OVAL criteria node negation. * @relates oval_criteria_node */ -int oval_criteria_node_negate(struct oval_criteria_node *); +int oval_criteria_node_get_negate (struct oval_criteria_node *); /** * Get OVAL criteria node comment. * @relates oval_criteria_node */ -char *oval_criteria_node_comment(struct oval_criteria_node *); +char *oval_criteria_node_get_comment (struct oval_criteria_node *); /** * Get OVAL criteria node operator. * @relates oval_criteria_node */ -oval_operator_enum oval_criteria_node_operator(struct oval_criteria_node *); //type==NODETYPE_CRITERIA +oval_operator_t oval_criteria_node_get_operator (struct oval_criteria_node *);//type==NODETYPE_CRITERIA /** * Get OVAL criteria node subnodes. * @relates oval_criteria_node */ -struct oval_iterator_criteria_node *oval_criteria_node_subnodes(struct oval_criteria_node *); //type==NODETYPE_CRITERIA +struct oval_criteria_node_iterator *oval_criteria_node_get_subnodes (struct oval_criteria_node *);//type==NODETYPE_CRITERIA /** * Get OVAL criteria node test. * @relates oval_criteria_node */ -struct oval_test *oval_criteria_node_test(struct oval_criteria_node *); //type==NODETYPE_CRITERION +struct oval_test *oval_criteria_node_get_test (struct oval_criteria_node *);//type==NODETYPE_CRITERION /** * Get OVAL criteria node definition. * @relates oval_criteria_node */ -struct oval_definition *oval_criteria_node_definition(struct oval_criteria_node *); //type==NODETYPE_EXTENDDEF +struct oval_definition *oval_criteria_node_get_definition(struct oval_criteria_node *);//type==NODETYPE_EXTENDDEF -int oval_iterator_reference_has_more(struct oval_iterator_reference *); -struct oval_reference *oval_iterator_reference_next(struct - oval_iterator_reference *); +int oval_reference_iterator_has_more(struct oval_reference_iterator *); +struct oval_reference *oval_reference_iterator_next(struct oval_reference_iterator *); /** * Get OVAL reference source. * @relates oval_reference */ -char *oval_reference_source(struct oval_reference *); +char *oval_reference_get_source(struct oval_reference *); /** * Get OVAL reference ID. * @relates oval_reference */ -char *oval_reference_id(struct oval_reference *); +char *oval_reference_get_id (struct oval_reference *); /** * Get OVAL reference URL. * @relates oval_reference */ -char *oval_reference_url(struct oval_reference *); +char *oval_reference_get_url (struct oval_reference *); -int oval_iterator_definition_has_more(struct oval_iterator_definition *); -struct oval_definition *oval_iterator_definition_next(struct - oval_iterator_definition - *); +int oval_definition_iterator_has_more(struct oval_definition_iterator *); +struct oval_definition *oval_definition_iterator_next (struct oval_definition_iterator *); /** * Get OVAL definition ID. * @relates oval_definition */ -char *oval_definition_id(struct oval_definition *); +char *oval_definition_get_id(struct oval_definition *); /** * Get OVAL definition version. * @relates oval_definition */ -int oval_definition_version(struct oval_definition *); +int oval_definition_get_version(struct oval_definition *); /** * Get OVAL definition class. * @relates oval_definition */ -oval_definition_class_enum oval_definition_class(struct oval_definition *); +oval_definition_class_t oval_definition_get_class(struct oval_definition *); /** * Get OVAL definition deprecation status. * @relates oval_definition */ -int oval_definition_deprecated(struct oval_definition *); +int oval_definition_get_deprecated(struct oval_definition *); /** * Get OVAL definition title. * @relates oval_definition */ -char *oval_definition_title(struct oval_definition *); +char *oval_definition_get_title(struct oval_definition *); /** * Get OVAL definition description. * @relates oval_definition */ -char *oval_definition_description(struct oval_definition *); +char *oval_definition_get_description(struct oval_definition *); /** * Get iterator to list of affected platforms. * @relates oval_definition */ -struct oval_iterator_affected *oval_definition_affected(struct oval_definition - *); +struct oval_affected_iterator *oval_definition_get_affected(struct oval_definition*); /** * Get iterator to list of definition references. * @relates oval_definition */ -struct oval_iterator_reference *oval_definition_references(struct oval_definition - *); +struct oval_reference_iterator *oval_definition_get_references(struct oval_definition*); /** * Get iterator to list of notes. * @relates oval_definition */ -struct oval_iterator_string *oval_definition_notes - (struct oval_definition *); +struct oval_string_iterator *oval_definition_get_notes(struct oval_definition *); /** * Get iterator to list of OVAL definition criteria. * @relates oval_definition */ -struct oval_criteria_node *oval_definition_criteria(struct oval_definition *); +struct oval_criteria_node *oval_definition_get_criteria(struct oval_definition *); -int oval_iterator_object_has_more(struct oval_iterator_object *); -struct oval_object *oval_iterator_object_next(struct oval_iterator_object *); +int oval_object_iterator_has_more(struct oval_object_iterator *); +struct oval_object *oval_object_iterator_next(struct oval_object_iterator *); /** * Get OVAL object family. * @relates oval_object */ -oval_family_enum oval_object_family(struct oval_object *); +oval_family_t oval_object_get_family (struct oval_object *); /** * Get OVAL object subtype. * @relates oval_object */ -oval_subtype_enum oval_object_subtype(struct oval_object *); +oval_subtype_t oval_object_get_subtype (struct oval_object *); /** * Get OVAL object name. * @relates oval_object */ -char *oval_object_name(struct oval_object *); +char *oval_object_get_name (struct oval_object *); /** * Get iterator to OVAL object notes. * @relates oval_object */ -struct oval_iterator_string *oval_object_notes(struct oval_object *); +struct oval_string_iterator *oval_object_get_notes (struct oval_object *); /** * Get OVAL object comment. * @relates oval_object */ -char *oval_object_comment(struct oval_object *); +char *oval_object_get_comment (struct oval_object *); /** * Get OVAL object ID. * @relates oval_object */ -char *oval_object_id(struct oval_object *); +char *oval_object_get_id (struct oval_object *); /** * Get OVAL object depracation status. * @relates oval_object */ -int oval_object_deprecated(struct oval_object *); +int oval_object_get_deprecated (struct oval_object *); /** * Get OVAL object version. * @relates oval_object */ -int oval_object_version(struct oval_object *); +int oval_object_get_version (struct oval_object *); +struct oval_object_content_iterator *oval_object_get_object_content(struct oval_object *); +struct oval_behavior_iterator *oval_object_get_behaviors (struct oval_object *); -struct oval_iterator_object_content *oval_object_object_content(struct - oval_object *); -struct oval_iterator_behavior *oval_object_behaviors(struct oval_object *); - -int oval_iterator_test_has_more(struct oval_iterator_test *); -struct oval_test *oval_iterator_test_next(struct oval_iterator_test *); +int oval_test_iterator_has_more(struct oval_test_iterator *); +struct oval_test *oval_test_iterator_next (struct oval_test_iterator *); /** * Get OVAL test family. * @relates oval_test */ -oval_family_enum oval_test_family(struct oval_test *); +oval_family_t oval_test_get_family (struct oval_test *); /** * Get OVAL test subtype. * @relates oval_test */ -oval_subtype_enum oval_test_subtype(struct oval_test *); +oval_subtype_t oval_test_get_subtype (struct oval_test *); /** * Get OVAL test notes. * @relates oval_test */ -struct oval_iterator_string *oval_test_notes(struct oval_test *); +struct oval_string_iterator *oval_test_get_notes (struct oval_test *); /** * Get OVAL test comment. * @relates oval_test */ -char *oval_test_comment(struct oval_test *); +char *oval_test_get_comment (struct oval_test *); /** * Get OVAL test ID. * @relates oval_test */ -char *oval_test_id(struct oval_test *); +char *oval_test_get_id (struct oval_test *); /** * Get OVAL test deprecation status. * @relates oval_test */ -int oval_test_deprecated(struct oval_test *); +int oval_test_get_deprecated(struct oval_test *); /** * Get OVAL test version. * @relates oval_test */ -int oval_test_version(struct oval_test *); +int oval_test_get_version (struct oval_test *); /** * Get OVAL test existence check type. * @relates oval_test */ -oval_existence_enum oval_test_existence(struct oval_test *); +oval_existence_t oval_test_get_existence (struct oval_test *); /** * Get OVAL test check type. * @relates oval_test */ -oval_check_enum oval_test_check(struct oval_test *); +oval_check_t oval_test_get_check (struct oval_test *); /** * Get OVAL test tested object. * @relates oval_test */ -struct oval_object *oval_test_object(struct oval_test *); +struct oval_object *oval_test_get_object (struct oval_test *); /** * Get OVAL test state. * @relates oval_test */ -struct oval_state *oval_test_state(struct oval_test *); +struct oval_state *oval_test_get_state (struct oval_test *); -int oval_iterator_variable_binding_has_more(struct - oval_iterator_variable_binding *); -struct oval_variable_binding *oval_iterator_variable_binding_next(struct - oval_iterator_variable_binding - *); +int oval_variable_binding_iterator_has_more(struct oval_variable_binding_iterator *); +struct oval_variable_binding *oval_variable_binding_iterator_next (struct oval_variable_binding_iterator *); /** * Get variable for this binding. * @relates oval_variable_binding */ -struct oval_variable *oval_variable_binding_variable(struct - oval_variable_binding *); +struct oval_variable *oval_variable_binding_get_variable(struct oval_variable_binding *); + /** * Get value of this binding. * @relates oval_variable_binding */ -char *oval_variable_binding_value(struct oval_variable_binding *); +char *oval_variable_binding_get_value (struct oval_variable_binding *); -int oval_iterator_object_content_has_more(struct oval_iterator_object_content - *); -struct oval_object_content *oval_iterator_object_content_next(struct - oval_iterator_object_content - *); +int oval_object_content_iterator_has_more(struct oval_object_content_iterator *); +struct oval_object_content *oval_object_content_iterator_next (struct oval_object_content_iterator *); /** * Get field name of a object content. * @relates oval_object_content */ -char *oval_object_content_field_name(struct oval_object_content *); +char *oval_object_content_get_field_name(struct oval_object_content *); /** * Get type of a object content (entity or set). * @relates oval_object_content */ -oval_object_content_type_enum oval_object_content_type(struct - oval_object_content *); +oval_object_content_type_t oval_object_content_get_type (struct oval_object_content *); /** * Get entity of a simple object content. * @relates oval_object_content */ -struct oval_entity *oval_object_content_entity(struct oval_object_content *); //type == OVAL_OBJECTCONTENT_ENTITY +struct oval_entity *oval_object_content_get_entity (struct oval_object_content *);//type == OVAL_OBJECTCONTENT_ENTITY /** * Get varCheck of a simple object content. * @relates oval_object_content */ -oval_check_enum oval_object_content_varCheck(struct oval_object_content *); //type == OVAL_OBJECTCONTENT_ENTITY +oval_check_t oval_object_content_get_varCheck (struct oval_object_content *);//type == OVAL_OBJECTCONTENT_ENTITY /** * Get varCheck of a set object content. * @relates oval_object_content */ -struct oval_set *oval_object_content_set(struct oval_object_content *); //type == OVAL_OBJECTCONTENT_SET +struct oval_set *oval_object_content_get_setobject (struct oval_object_content *);//type == OVAL_OBJECTCONTENT_SET -int oval_iterator_state_content_has_more - (struct oval_iterator_state_content *); -struct oval_state_content *oval_iterator_state_content_next - (struct oval_iterator_state_content *); +int oval_state_content_iterator_has_more(struct oval_state_content_iterator *); +struct oval_state_content *oval_state_content_iterator_next (struct oval_state_content_iterator *); /** * Get entity of a state content. * @relates oval_object_content */ -struct oval_entity *oval_state_content_entity(struct oval_state_content *); +struct oval_entity *oval_state_content_get_entity (struct oval_state_content *); /** * Get multipe variable values processing of a state content. * @relates oval_object_content */ -oval_check_enum oval_state_content_var_check(struct oval_state_content *); +oval_check_t oval_state_content_get_var_check(struct oval_state_content *); /** * Get multipe entities processing of a state content. * @relates oval_object_content */ -oval_check_enum oval_state_content_ent_check(struct oval_state_content *); +oval_check_t oval_state_content_get_ent_check(struct oval_state_content *); -int oval_iterator_entity_has_more(struct oval_iterator_entity *); -struct oval_entity *oval_iterator_entity_next(struct oval_iterator_entity *); +int oval_entity_iterator_has_more(struct oval_entity_iterator *); +struct oval_entity *oval_entity_iterator_next (struct oval_entity_iterator *); /** * Get OVAL entity name. * @relates oval_entity */ -char *oval_entity_name(struct oval_entity *); +char *oval_entity_get_name (struct oval_entity *); /** * Get OVAL entity type. * @relates oval_entity */ -oval_entity_type_enum oval_entity_type(struct oval_entity *); +oval_entity_type_t oval_entity_get_type (struct oval_entity *); /** * Get OVAL entity datatype. * @relates oval_entity */ -oval_datatype_enum oval_entity_datatype(struct oval_entity *); +oval_datatype_t oval_entity_get_datatype (struct oval_entity *); /** * Get OVAL entity operation type. * @relates oval_entity */ -oval_operation_enum oval_entity_operation(struct oval_entity *); +oval_operation_t oval_entity_get_operation (struct oval_entity *); /** * Get OVAL entity mask. * @relates oval_entity */ -int oval_entity_mask(struct oval_entity *); +int oval_entity_get_mask (struct oval_entity *); /** * Get OVAL entity varref type. * @relates oval_entity */ -oval_entity_varref_type_enum oval_entity_varref_type(struct oval_entity *); +oval_entity_varref_type_t oval_entity_get_varref_type(struct oval_entity *); /** * Get OVAL entity varref variable. * @relates oval_entity */ -struct oval_variable *oval_entity_variable(struct oval_entity *); +struct oval_variable *oval_entity_get_variable (struct oval_entity *); /** * Get OVAL entity value. * @relates oval_entity */ -struct oval_value *oval_entity_value(struct oval_entity *); +struct oval_value *oval_entity_get_value (struct oval_entity *); -int oval_iterator_set_has_more(struct oval_iterator_set *); -struct oval_set *oval_iterator_set_next(struct oval_iterator_set *); +int oval_set_iterator_has_more(struct oval_set_iterator *); +struct oval_set *oval_set_iterator_next (struct oval_set_iterator *); /** * Get OVAL set object type. * @relates oval_set */ -oval_set_type_enum oval_set_type(struct oval_set *); +oval_set_type_t oval_set_get_type (struct oval_set *); /** * Get OVAL set object operation type. * @relates oval_set */ -oval_set_operation_enum oval_set_operation(struct oval_set *); +oval_set_operation_t oval_set_get_operation(struct oval_set *); /** * Get OVAL set object subsets. * This works only with sets of OVAL_SET_AGGREGATE type. * @relates oval_set */ -struct oval_iterator_set *oval_set_subsets(struct oval_set *); //type==OVAL_SET_AGGREGATE; +struct oval_set_iterator *oval_set_get_subsets (struct oval_set *);//type==OVAL_SET_AGGREGATE; + /** * Get OVAL set object referenced objects. * This works only with sets of OVAL_SET_COLLECTIVE type. * @relates oval_set */ -struct oval_iterator_object *oval_set_objects(struct oval_set *); //type==OVAL_SET_COLLECTIVE; +struct oval_object_iterator *oval_set_get_objects (struct oval_set *);//type==OVAL_SET_COLLECTIVE; /** * Get OVAL set object filters. * This works only with sets of OVAL_SET_COLLECTIVE type. * @relates oval_set */ -struct oval_iterator_state *oval_set_filters(struct oval_set *); //type==OVAL_SET_COLLECTIVE; +struct oval_state_iterator *oval_set_get_filters (struct oval_set *);//type==OVAL_SET_COLLECTIVE; -int oval_iterator_behavior_has_more(struct oval_iterator_behavior *); -struct oval_behavior *oval_iterator_behavior_next(struct oval_iterator_behavior - *); +int oval_behavior_iterator_has_more(struct oval_behavior_iterator *); +struct oval_behavior *oval_behavior_iterator_next (struct oval_behavior_iterator *); /** * Get OVAL behavior name. * @relates oval_behavior */ -char *oval_behavior_key(struct oval_behavior *); +char *oval_behavior_get_key (struct oval_behavior *); /** * Get OVAL behavior value. * @relates oval_behavior */ -char *oval_behavior_value(struct oval_behavior *); +char *oval_behavior_get_value(struct oval_behavior *); -int oval_iterator_value_has_more(struct oval_iterator_value *); -struct oval_value *oval_iterator_value_next(struct oval_iterator_value *); +int oval_value_iterator_has_more(struct oval_value_iterator *); +struct oval_value *oval_value_iterator_next (struct oval_value_iterator *); /** * Get OVAL value datatype. * @relates oval_value */ -oval_datatype_enum oval_value_datatype(struct oval_value *); +oval_datatype_t oval_value_get_datatype(struct oval_value *); /** * Get OVAL value as a text. * @relates oval_value */ -char *oval_value_text(struct oval_value *); +char *oval_value_get_text (struct oval_value *); /** * Get OVAL value as a piece of raw binary data. * @relates oval_value */ -unsigned char *oval_value_binary(struct oval_value *); //datatype==OVAL_DATATYPE_BINARY +unsigned char *oval_value_get_binary (struct oval_value *);//datatype==OVAL_DATATYPE_BINARY /** * Get OVAL value as a boolean. * @relates oval_value */ -bool oval_value_boolean(struct oval_value *); //datatype==OVAL_DATATYPE_BOOLEAN +bool oval_value_get_boolean (struct oval_value *);//datatype==OVAL_DATATYPE_BOOLEAN /** * Get OVAL value as a floating point number. * @relates oval_value */ -float oval_value_float(struct oval_value *); //datatype==OVAL_DATATYPE_FLOAT +float oval_value_get_float (struct oval_value *);//datatype==OVAL_DATATYPE_FLOAT /** * Get OVAL value as an integer. * @relates oval_value */ -long oval_value_integer(struct oval_value *); //datatype==OVAL_DATATYPE_INTEGER +long oval_value_get_integer (struct oval_value *);//datatype==OVAL_DATATYPE_INTEGER -int oval_iterator_state_has_more(struct oval_iterator_state *); -struct oval_state *oval_iterator_state_next(struct oval_iterator_state *); +int oval_state_iterator_has_more(struct oval_state_iterator *); +struct oval_state *oval_state_iterator_next (struct oval_state_iterator *); /** * Get OVAL state family. * @relates oval_state */ -oval_family_enum oval_state_family(struct oval_state *); +oval_family_t oval_state_get_family (struct oval_state *); /** * Get OVAL state subtype. * @relates oval_state */ -oval_subtype_enum oval_state_subtype(struct oval_state *); +oval_subtype_t oval_state_get_subtype (struct oval_state *); /** * Get OVAL state name. * @relates oval_state */ -char *oval_state_name(struct oval_state *); +char *oval_state_get_name (struct oval_state *); /** * Get OVAL state comment. * @relates oval_state */ -char *oval_state_comment(struct oval_state *); +char *oval_state_get_comment (struct oval_state *); /** * Get OVAL state ID. * @relates oval_state */ -char *oval_state_id(struct oval_state *); +char *oval_state_get_id (struct oval_state *); /** * Get OVAL state deprecation status. * @relates oval_state */ -int oval_state_deprecated(struct oval_state *); +int oval_state_get_deprecated(struct oval_state *); /** * Get OVAL state version. * @relates oval_state */ -int oval_state_version(struct oval_state *); +int oval_state_get_version (struct oval_state *); /** * Get OVAL state notes. * @relates oval_state */ -struct oval_iterator_string *oval_state_notes(struct oval_state *); +struct oval_string_iterator *oval_state_get_notes (struct oval_state *); /** * Get OVAL state contents. * @relates oval_state */ -struct oval_iterator_state_content *oval_state_contents(struct oval_state *); +struct oval_state_content_iterator *oval_state_get_contents (struct oval_state *); -int oval_iterator_variable_has_more(struct oval_iterator_variable *); -struct oval_variable *oval_iterator_variable_next(struct oval_iterator_variable - *); +int oval_iterator_variable_has_more(struct oval_variable_iterator *); +struct oval_variable *oval_iterator_variable_next (struct oval_variable_iterator *); /** * Get OVAL variable ID. * @relates oval_variable */ -char *oval_variable_id(struct oval_variable *); +char *oval_variable_get_id (struct oval_variable *); /** * Get OVAL variable comment. * @relates oval_variable */ -char *oval_variable_comment(struct oval_variable *); +char *oval_variable_get_comment (struct oval_variable *); /** * Get OVAL variable version. * @relates oval_variable */ -int oval_variable_version(struct oval_variable *); +int oval_variable_get_version (struct oval_variable *); /** * Get OVAL variable deprecation status. * @relates oval_variable */ -int oval_variable_deprecated(struct oval_variable *); +int oval_variable_get_deprecated(struct oval_variable *); /** * Get OVAL variable type. * @relates oval_variable */ -oval_variable_type_enum oval_variable_type(struct oval_variable *); +oval_variable_type_t oval_variable_get_type (struct oval_variable *); /** * Get OVAL variable datatype. * @relates oval_variable */ -oval_datatype_enum oval_variable_datatype(struct oval_variable *); +oval_datatype_t oval_variable_get_datatype (struct oval_variable *); /** * Get OVAL constant variable values. * @relates oval_variable */ -struct oval_iterator_value *oval_variable_values(struct oval_variable *); //type==OVAL_VARIABLE_CONSTANT +struct oval_value_iterator *oval_variable_get_values (struct oval_variable *);//type==OVAL_VARIABLE_CONSTANT /** * Get OVAL local variable main component. * @relates oval_variable */ -struct oval_component *oval_variable_component(struct oval_variable *); //type==OVAL_VARIABLE_LOCAL +struct oval_component *oval_variable_get_component (struct oval_variable *);//type==OVAL_VARIABLE_LOCAL -int oval_iterator_component_has_more(struct oval_iterator_component *); -struct oval_component *oval_iterator_component_next(struct - oval_iterator_component *); +int oval_component_iterator_has_more(struct oval_component_iterator *); +struct oval_component *oval_component_iterator_next (struct oval_component_iterator *); /** * Get OVAL component type. * @relates oval_component */ -oval_component_type_enum oval_component_type(struct oval_component *); +oval_component_type_t oval_component_get_type (struct oval_component *); /** * Get OVAL component literal value. * @see OVAL_COMPONENT_LITERAL * @relates oval_component */ -struct oval_value *oval_component_literal_value(struct oval_component *); //type==OVAL_COMPONENT_LITERAL +struct oval_value *oval_component_get_literal_value (struct oval_component *);//type==OVAL_COMPONENT_LITERAL /** * Get OVAL component object. * @see OVAL_COMPONENT_OBJECTREF * @relates oval_component */ -struct oval_object *oval_component_object(struct oval_component *); //type==OVAL_COMPONENT_OBJECTREF +struct oval_object *oval_component_get_object (struct oval_component *);//type==OVAL_COMPONENT_OBJECTREF /** * Get OVAL component object field. * @see OVAL_COMPONENT_OBJECTREF * @relates oval_component */ -char *oval_component_object_field(struct oval_component *); //type==OVAL_COMPONENT_OBJECTREF +char *oval_component_get_object_field (struct oval_component *);//type==OVAL_COMPONENT_OBJECTREF /** * Get OVAL component variable. * @see OVAL_COMPONENT_VARREF * @relates oval_component */ -struct oval_variable *oval_component_variable(struct oval_component *); //type==OVAL_COMPONENT_VARREF +struct oval_variable *oval_component_get_variable (struct oval_component *);//type==OVAL_COMPONENT_VARREF /** * Get OVAL component function components. * @see OVAL_COMPONENT_FUNCTION * @relates oval_component */ -struct oval_iterator_component *oval_component_function_components(struct oval_component *); //type==OVAL_COMPONENT_FUNCTION +struct oval_component_iterator *oval_component_get_function_components (struct oval_component *);//type==OVAL_COMPONENT_FUNCTION /** * Get OVAL component arithmetic operation. * @see OVAL_COMPONENT_ARITHMETIC * @relates oval_component */ -oval_arithmetic_operation_enum oval_component_arithmetic_operation(struct oval_component *); //type==OVAL_COMPONENT_ARITHMETIC +oval_arithmetic_operation_t oval_component_get_arithmetic_operation(struct oval_component *);//type==OVAL_COMPONENT_ARITHMETIC /** * Get OVAL component begin character. * @see OVAL_COMPONENT_BEGIN * @relates oval_component */ -char *oval_component_begin_character(struct oval_component *); //type==OVAL_COMPONENT_BEGIN +char *oval_component_get_begin_character (struct oval_component *);//type==OVAL_COMPONENT_BEGIN /** * Get OVAL component end character. * @see OVAL_COMPONENT_END * @relates oval_component */ -char *oval_component_end_character(struct oval_component *); //type==OVAL_COMPONENT_END +char *oval_component_get_end_character (struct oval_component *);//type==OVAL_COMPONENT_END /** * Get OVAL component split delimiter. * @see OVAL_COMPONENT_SPLIT * @relates oval_component */ -char *oval_component_split_delimiter(struct oval_component *); //type==OVAL_COMPONENT_SPLIT +char *oval_component_get_split_delimiter (struct oval_component *);//type==OVAL_COMPONENT_SPLIT /** * Get OVAL component start of a substring. * @see OVAL_COMPONENT_SUBSTRING * @relates oval_component */ -int oval_component_substring_start(struct oval_component *); //type==OVAL_COMPONENT_SUBSTRING +int oval_component_get_substring_start (struct oval_component *);//type==OVAL_COMPONENT_SUBSTRING /** * Get OVAL component substring length. * @see OVAL_COMPONENT_SUBSTRING * @relates oval_component */ -int oval_component_substring_length(struct oval_component *); //type==OVAL_COMPONENT_SUBSTRING +int oval_component_get_substring_length (struct oval_component *);//type==OVAL_COMPONENT_SUBSTRING /** * Get OVAL component timedif format 1. * @see OVAL_COMPONENT_TIMEDIF * @relates oval_component */ -oval_datetime_format_enum oval_component_timedif_format_1(struct oval_component *); //type==OVAL_COMPONENT_TIMEDIF +oval_datetime_format_t oval_component_get_timedif_format_1 (struct oval_component *);//type==OVAL_COMPONENT_TIMEDIF /** * Get OVAL component timedif format 2. * @see OVAL_COMPONENT_TIMEDIF * @relates oval_component */ -oval_datetime_format_enum oval_component_timedif_format_2(struct oval_component *); //type==OVAL_COMPONENT_TIMEDIF +oval_datetime_format_t oval_component_get_timedif_format_2 (struct oval_component *);//type==OVAL_COMPONENT_TIMEDIF /** * Get OVAL component regex pattern. * @see OVAL_COMPONENT_REGEX_CAPTURE * @relates oval_component */ -char *oval_component_regex_pattern(struct oval_component *); //type==OVAL_COMPONENT_REGEX_CAPTURE +char *oval_component_get_regex_pattern (struct oval_component *); //type==OVAL_COMPONENT_REGEX_CAPTURE -int oval_iterator_message_has_more(struct oval_iterator_message *oc_message); -struct oval_message *oval_iterator_message_next(struct oval_iterator_message *oc_message); +int oval_message_iterator_has_more(struct oval_message_iterator *oc_message); +struct oval_message *oval_message_iterator_next(struct oval_message_iterator *oc_message); /** * Get OVAL message text. * @relates oval_message */ -char *oval_message_text(struct oval_message *message); +char *oval_message_get_text (struct oval_message *message); /** * Get OVAL message level. * @relates oval_message */ -oval_message_level_enum oval_message_level(struct oval_message *message); +oval_message_level_t oval_message_get_level(struct oval_message *message); /** * Convert an operator to its text representation. */ -const char* oval_operator_text(oval_operator_enum); +const char* oval_operator_get_text(oval_operator_t); + +/** + * Get the family associated with a given subtype. + */ +oval_family_t oval_subtype_get_family(oval_subtype_t); /** * Convert OVAL subtype to its text representation. */ -const char* oval_subtype_text(oval_subtype_enum); +const char* oval_subtype_get_text(oval_subtype_t); /** * Convert OVAL family to its text representation. */ -const char* oval_family_text(oval_family_enum); +const char* oval_family_get_text(oval_family_t); #endif diff -u -r a/src/OVAL/api/oval_results.h b/src/OVAL/api/oval_results.h --- a/src/OVAL/api/oval_results.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/api/oval_results.h 2009-09-21 17:20:00 -0400 @@ -44,145 +44,96 @@ OVAL_RESULT_ERROR = 4, OVAL_RESULT_NOT_EVALUATED = 5, OVAL_RESULT_NOT_APPLICABLE = 6 -} oval_result_enum; +} oval_result_t; typedef enum { OVAL_DIRECTIVE_CONTENT_UNKNOWN = 0, OVAL_DIRECTIVE_CONTENT_THIN = 1, OVAL_DIRECTIVE_CONTENT_FULL = 2 -} oval_result_directive_content_enum; +} oval_result_directive_content_t; struct oval_result_definition; -struct oval_iterator_result_definition; +struct oval_result_definition_iterator; struct oval_result_item; -struct oval_iterator_result_item; +struct oval_result_item_iterator; struct oval_result_test; -struct oval_iterator_result_test; +struct oval_result_test_iterator; struct oval_result_criteria_node; -struct oval_iterator_result_criteria_node; +struct oval_result_criteria_node_iterator; struct oval_result_directives; struct oval_result_system; -struct oval_iterator_result_system; +struct oval_result_system_iterator; -int oval_iterator_result_system_has_more - (struct oval_iterator_result_system *); -struct oval_result_system *oval_iterator_result_system_next - (struct oval_iterator_result_system *); - -struct oval_iterator_result_definition *oval_result_system_definitions - (struct oval_result_system *); -struct oval_iterator_result_test *oval_result_system_tests - (struct oval_result_system *); -struct oval_syschar_model *oval_result_system_syschar_model - (struct oval_result_system *); -struct oval_sysinfo *oval_result_system_sysinfo - (struct oval_result_system *); - -void add_oval_result_system_definition - (struct oval_result_system *, struct oval_result_definition *); -void add_oval_result_system_test - (struct oval_result_system *, struct oval_result_test *); - -int oval_iterator_result_definition_has_more - (struct oval_iterator_result_definition *); -struct oval_result_definition *oval_iterator_result_definition_next - (struct oval_iterator_result_definition *); - -struct oval_definition *oval_result_definition_definition - (struct oval_result_definition *); -struct oval_result_system *oval_result_definition_system - (struct oval_result_definition *); -int oval_result_definition_instance - (struct oval_result_definition *); - -oval_result_enum oval_result_definition_result - (struct oval_result_definition *); - -struct oval_iterator_message *oval_result_definition_messages - (struct oval_result_definition *); - -struct oval_result_criteria_node *oval_result_definition_criteria - (struct oval_result_definition *); - -void set_oval_result_definition_result - (struct oval_result_definition *, - oval_result_enum); - -void set_oval_result_definition_instance - (struct oval_result_definition *, int); - -void set_oval_result_definition_criteria - (struct oval_result_definition *, - struct oval_result_criteria_node *); - -void add_oval_result_definition_message - (struct oval_result_definition *, - struct oval_message *); - - -int oval_iterator_result_test_has_more - (struct oval_iterator_result_test *); -struct oval_result_test *oval_iterator_result_test_next - (struct oval_iterator_result_test *); - -int oval_iterator_result_item_has_more(struct oval_iterator_result_item *); -struct oval_result_item *oval_iterator_result_item_next(struct - oval_iterator_result_item - *); - -struct oval_sysdata *oval_result_item_sysdata(struct oval_result_item *); -oval_result_enum oval_result_item_result(struct oval_result_item *); -struct oval_iterator_message *oval_result_item_messages(struct oval_result_item *); - -int oval_iterator_result_test_has_more(struct oval_iterator_result_test *); -struct oval_result_test *oval_iterator_result_test_next(struct - oval_iterator_result_test - *); - -struct oval_test *oval_result_test_test(struct oval_result_test *); -struct oval_result_system *oval_result_test_system(struct oval_result_test *); -oval_result_enum oval_result_test_result(struct oval_result_test *); -int oval_result_test_instance(struct oval_result_test *); -struct oval_message *oval_result_test_message(struct oval_result_test *); -struct oval_iterator_result_item *oval_result_test_items(struct oval_result_test *); -struct oval_iterator_variable_binding *oval_result_test_bindings(struct oval_result_test *); - -int oval_iterator_result_criteria_node_has_more(struct - oval_iterator_result_criteria_node - *); -struct oval_result_criteria_node *oval_iterator_result_criteria_node_next(struct - oval_iterator_result_criteria_node - *); - -oval_criteria_node_type_enum oval_result_criteria_node_type(struct - oval_result_criteria_node - *); -oval_result_enum oval_result_criteria_node_result(struct - oval_result_criteria_node *); -bool oval_result_criteria_node_negate - (struct oval_result_criteria_node *); - -oval_operator_enum oval_result_criteria_node_operator(struct oval_result_criteria_node *); //type==NODETYPE_CRITERIA -struct oval_iterator_result_criteria_node *oval_result_criteria_node_subnodes - (struct oval_result_criteria_node *); //type==NODETYPE_CRITERIA -struct oval_result_test *oval_result_criteria_node_test(struct oval_result_criteria_node *); //type==NODETYPE_CRITERION -struct oval_result_definition *oval_result_criteria_node_extends(struct oval_result_criteria_node *); //type==NODETYPE_EXTENDDEF - -bool oval_result_directive_reported - (struct oval_result_directives *, oval_result_enum); -oval_result_directive_content_enum oval_result_directive_content - (struct oval_result_directives *, oval_result_enum); - -void set_oval_result_directive_reported - (struct oval_result_directives *, oval_result_enum, bool); -void set_oval_result_directive_content - (struct oval_result_directives *, oval_result_enum, oval_result_directive_content_enum); +int oval_result_system_iterator_has_more(struct oval_result_system_iterator *); +struct oval_result_system *oval_result_system_iterator_next (struct oval_result_system_iterator *); + +struct oval_result_definition_iterator *oval_result_system_get_definitions (struct oval_result_system *); +struct oval_iterator_result_test *oval_result_system_get_tests (struct oval_result_system *); +struct oval_syschar_model *oval_result_system_get_syschar_model(struct oval_result_system *); +struct oval_sysinfo *oval_result_system_get_sysinfo (struct oval_result_system *); + +void oval_result_system_add_definition_(struct oval_result_system *, struct oval_result_definition *); +void oval_result_system_add_test (struct oval_result_system *, struct oval_result_test *); + +int oval_result_definition_iterator_has_more(struct oval_result_definition_iterator *); +struct oval_result_definition *oval_result_definition_iterator_next (struct oval_result_definition_iterator *); + +struct oval_definition *oval_result_definition_get_definition(struct oval_result_definition *); +struct oval_result_system *oval_result_definition_get_system (struct oval_result_definition *); +int oval_result_definition_get_instance (struct oval_result_definition *); +oval_result_t oval_result_definition_get_result (struct oval_result_definition *); +struct oval_message_iterator *oval_result_definition_messages (struct oval_result_definition *); +struct oval_result_criteria_node *oval_result_definition_criteria (struct oval_result_definition *); + +void oval_result_definition_set_result (struct oval_result_definition *, oval_result_t); +void oval_result_definition_set_instance(struct oval_result_definition *, int); +void oval_result_definition_set_criteria(struct oval_result_definition *, struct oval_result_criteria_node *); +void oval_result_definition_add_message (struct oval_result_definition *, struct oval_message *); + + +int oval_result_test_iterator_has_more(struct oval_iterator_result_test *); +struct oval_result_test *oval_result_test_iterator_next (struct oval_iterator_result_test *); + +int oval_result_item_iterator_has_more(struct oval_result_item_iterator *); +struct oval_result_item *oval_result_item_iterator_next (struct oval_result_item_iterator *); + +struct oval_sysdata *oval_result_item_get_sysdata (struct oval_result_item *); +oval_result_t oval_result_item_get_result (struct oval_result_item *); +struct oval_message_iterator *oval_result_item_get_messages(struct oval_result_item *); + +int oval_result_test_iterator_has_more(struct oval_iterator_result_test *); +struct oval_result_test *oval_result_test_iterator_next (struct oval_iterator_result_test *); + +struct oval_test *oval_result_test_get_test (struct oval_result_test *); +struct oval_result_system *oval_result_test_get_system (struct oval_result_test *); +oval_result_t oval_result_test_get_result (struct oval_result_test *); +int oval_result_test_get_instance(struct oval_result_test *); +struct oval_message *oval_result_test_get_message (struct oval_result_test *); +struct oval_result_item_iterator *oval_result_test_get_items (struct oval_result_test *); +struct oval_variable_binding_iterator *oval_result_test_get_bindings(struct oval_result_test *); + +int oval_result_criteria_node_iterator_has_more(struct oval_result_criteria_node_iterator *); +struct oval_result_criteria_node *oval_result_criteria_node_iterator_next (struct oval_result_criteria_node_iterator *); + +oval_criteria_node_type_t oval_result_criteria_node_get_type (struct oval_result_criteria_node *); +oval_result_t oval_result_criteria_node_get_result (struct oval_result_criteria_node *); +bool oval_result_criteria_node_get_negate (struct oval_result_criteria_node *); +oval_operator_t oval_result_criteria_node_get_operator(struct oval_result_criteria_node *);//type==NODETYPE_CRITERIA +struct oval_result_criteria_node_iterator *oval_result_criteria_node_get_subnodes(struct oval_result_criteria_node *);//type==NODETYPE_CRITERIA +struct oval_result_test *oval_result_criteria_node_get_test (struct oval_result_criteria_node *);//type==NODETYPE_CRITERION +struct oval_result_definition *oval_result_criteria_node_get_extends (struct oval_result_criteria_node *);//type==NODETYPE_EXTENDDEF + +bool oval_result_directive_get_reported(struct oval_result_directives *, oval_result_t); +oval_result_directive_content_t oval_result_directive_get_content (struct oval_result_directives *, oval_result_t); + +void oval_result_directive_set_reported(struct oval_result_directives *, oval_result_t, bool); +void oval_result_directive_set_content (struct oval_result_directives *, oval_result_t, oval_result_directive_content_t); #endif /* OVAL_RESULTS_H_ */ diff -u -r a/src/OVAL/api/oval_system_characteristics.h b/src/OVAL/api/oval_system_characteristics.h --- a/src/OVAL/api/oval_system_characteristics.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/api/oval_system_characteristics.h 2009-09-22 08:50:39 -0400 @@ -38,14 +38,14 @@ /// System characteristics result flag typedef enum { - SYSCHAR_FLAG_UNKNOWN, - SYSCHAR_FLAG_ERROR, - SYSCHAR_FLAG_COMPLETE, - SYSCHAR_FLAG_INCOMPLETE, - SYSCHAR_FLAG_DOES_NOT_EXIST, - SYSCHAR_FLAG_NOT_COLLECTED, - SYSCHAR_FLAG_NOT_APPLICABLE -} oval_syschar_collection_flag_enum; + SYSCHAR_FLAG_UNKNOWN = 0, + SYSCHAR_FLAG_ERROR = 1, + SYSCHAR_FLAG_COMPLETE = 2, + SYSCHAR_FLAG_INCOMPLETE = 3, + SYSCHAR_FLAG_DOES_NOT_EXIST = 4, + SYSCHAR_FLAG_NOT_COLLECTED = 5, + SYSCHAR_FLAG_NOT_APPLICABLE = 6 +} oval_syschar_collection_flag_t; /// System characteristics status typedef enum{ @@ -54,211 +54,201 @@ SYSCHAR_STATUS_EXISTS = 2, SYSCHAR_STATUS_DOES_NOT_EXIST = 3, SYSCHAR_STATUS_NOT_COLLECTED = 4 -} oval_syschar_status_enum; +} oval_syschar_status_t; /** * Network interface desription. */ struct oval_sysint; -struct oval_iterator_sysint; +struct oval_sysint_iterator; /** * System information. */ struct oval_sysinfo; -struct oval_iterator_sysinfo; +struct oval_sysinfo_iterator; /** * System characteristics data entry. */ struct oval_sysdata; -struct oval_iterator_sysdata; +struct oval_sysdata_iterator; /** * System characteristics item. */ struct oval_sysitem; -struct oval_iterator_sysitem; +struct oval_sysitem_iterator; /** * Collection of characteristics bound to an object. */ struct oval_syschar; -struct oval_iterator_syschar; +struct oval_syschar_iterator; -int oval_iterator_sysint_has_more(struct oval_iterator_sysint *); -struct oval_sysint *oval_iterator_sysint_next(struct oval_iterator_sysint *); +int oval_sysint_iterator_has_more(struct oval_sysint_iterator *); +struct oval_sysint *oval_sysint_iterator_next (struct oval_sysint_iterator *); /** * Get interface name. * @relates oval_sysint */ -char *oval_sysint_name(struct oval_sysint *); +char *oval_sysint_get_name (struct oval_sysint *); /** * Get interface IP address. * @relates oval_sysint */ -char *oval_sysint_ip_address(struct oval_sysint *); +char *oval_sysint_get_ip_address (struct oval_sysint *); /** * Get interface MAC address. * @relates oval_sysint */ -char *oval_sysint_mac_address(struct oval_sysint *); +char *oval_sysint_get_mac_address(struct oval_sysint *); -int oval_iterator_sysinfo_has_more(struct oval_iterator_sysinfo *); -struct oval_sysinfo *oval_iterator_sysinfo_next(struct oval_iterator_sysinfo *); +int oval_sysinfo_iterator_has_more(struct oval_sysinfo_iterator *); +struct oval_sysinfo *oval_sysinfo_iterator_next (struct oval_sysinfo_iterator *); /** * Get operating system name. * @relates oval_sysinfo */ -char *oval_sysinfo_os_name(struct oval_sysinfo *); +char *oval_sysinfo_get_os_name (struct oval_sysinfo *); /** * Get operating system version. * @relates oval_sysinfo */ -char *oval_sysinfo_os_version(struct oval_sysinfo *); +char *oval_sysinfo_get_os_version (struct oval_sysinfo *); /** * Get operating system architecture. * @relates oval_sysinfo */ -char *oval_sysinfo_os_architecture(struct oval_sysinfo *); +char *oval_sysinfo_get_os_architecture (struct oval_sysinfo *); /** * Get primary host name of the tested machine. * @relates oval_sysinfo */ -char *oval_sysinfo_primary_host_name(struct oval_sysinfo *); +char *oval_sysinfo_get_primary_host_name(struct oval_sysinfo *); /** * Get an iterator to the list of network interfaces. * @relates oval_sysinfo */ -struct oval_iterator_sysint *oval_sysinfo_interfaces(struct oval_sysinfo *); +struct oval_sysint_iterator *oval_sysinfo_get_interfaces (struct oval_sysinfo *); -int oval_iterator_sysdata_has_more(struct oval_iterator_sysdata *); -struct oval_sysdata *oval_iterator_sysdata_next(struct oval_iterator_sysdata *); +int oval_sysdata_iterator_has_more(struct oval_sysdata_iterator *); +struct oval_sysdata *oval_sysdata_iterator_next (struct oval_sysdata_iterator *); /** * Get system data subtype. * @relates oval_sysdata */ -oval_subtype_enum oval_sysdata_subtype(struct oval_sysdata *); +oval_subtype_t oval_sysdata_get_subtype (struct oval_sysdata *); /** * Get system data ID. * @relates oval_sysdata */ -char *oval_sysdata_id(struct oval_sysdata *); +char *oval_sysdata_get_id (struct oval_sysdata *); /** * Get system data status. * @relates oval_sysdata */ -oval_syschar_status_enum oval_sysdata_status(struct oval_sysdata *); +oval_syschar_status_t oval_sysdata_get_status (struct oval_sysdata *); /** * Get system data individual items. * @relates oval_sysdata */ -struct oval_iterator_sysitem *oval_sysdata_items(struct oval_sysdata *); +struct oval_sysitem_iterator *oval_sysdata_get_items (struct oval_sysdata *); /** * Get system data message. * @relates oval_sysdata */ -char *oval_sysdata_message(struct oval_sysdata *); - -/** - * Get system data subtype as a string. - * @relates oval_sysdata - */ -char *oval_sysdata_subtype_name(struct oval_sysdata *); +char *oval_sysdata_get_message (struct oval_sysdata *); /** * Get system data message level. * @relates oval_sysdata */ -oval_message_level_enum oval_sysdata_message_level(struct oval_sysdata *); - -int oval_iterator_sysitem_has_more(struct oval_iterator_sysitem *); -struct oval_sysitem *oval_iterator_sysitem_next(struct oval_iterator_sysitem *); +oval_message_level_t oval_sysdata_get_message_level(struct oval_sysdata *); +int oval_sysitem_iterator_has_more(struct oval_sysitem_iterator *); +struct oval_sysitem *oval_sysitem_iterator_next (struct oval_sysitem_iterator *); /** * Get system data item name. * @relates oval_sysitem */ -char *oval_sysitem_name(struct oval_sysitem *); +char *oval_sysitem_get_name (struct oval_sysitem *); /** * Get system data item value. * @relates oval_sysitem */ -char *oval_sysitem_value(struct oval_sysitem *); +char *oval_sysitem_get_value (struct oval_sysitem *); /** * Get system data item status. * @relates oval_sysitem */ -oval_syschar_status_enum oval_sysitem_status(struct oval_sysitem *); +oval_syschar_status_t oval_sysitem_get_status (struct oval_sysitem *); /** * Get system data item data type. * @relates oval_sysitem */ -oval_datatype_enum oval_sysitem_datatype(struct oval_sysitem *); +oval_datatype_t oval_sysitem_get_datatype(struct oval_sysitem *); /** * Get system data item mask. * @relates oval_sysitem */ -int oval_sysitem_mask(struct oval_sysitem *); - -int oval_iterator_syschar_has_more(struct oval_iterator_syschar *); -struct oval_syschar *oval_iterator_syschar_next(struct oval_iterator_syschar *); +int oval_sysitem_get_mask (struct oval_sysitem *); +int oval_syschar_iterator_has_more(struct oval_syschar_iterator *); +struct oval_syschar *oval_syschar_iterator_next (struct oval_syschar_iterator *); /** * Get system characteristic flag. * @relates oval_syschar */ -oval_syschar_collection_flag_enum oval_syschar_flag(struct oval_syschar *); +oval_syschar_collection_flag_t oval_syschar_get_flag (struct oval_syschar *); /** * Get messages bound to this system characteristic. * @relates oval_syschar */ -struct oval_iterator_message *oval_syschar_messages(struct oval_syschar *); +struct oval_message_iterator *oval_syschar_get_messages (struct oval_syschar *); /** * Get characteristic system information. * @relates oval_syschar */ -struct oval_sysinfo *oval_syschar_sysinfo(struct oval_syschar *); +struct oval_sysinfo *oval_syschar_get_sysinfo (struct oval_syschar *); /** * Get object associated with this system characteristic. * @relates oval_syschar */ -struct oval_object *oval_syschar_object(struct oval_syschar *); +struct oval_object *oval_syschar_get_object (struct oval_syschar *); /** * Get system characteristic variable bindings. * @relates oval_syschar */ -struct oval_iterator_variable_binding *oval_syschar_variable_bindings(struct - oval_syschar - *); +struct oval_variable_binding_iterator *oval_syschar_get_variable_bindings(struct oval_syschar *); /** * Get system characteristic data. * @relates oval_syschar */ -struct oval_iterator_sysdata *oval_syschar_sysdata(struct oval_syschar *); +struct oval_sysdata_iterator *oval_syschar_sysdata (struct oval_syschar *); #endif diff -u -r a/src/OVAL/oval_affected.c b/src/OVAL/oval_affected.c --- a/src/OVAL/oval_affected.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_affected.c 2009-09-21 17:12:16 -0400 @@ -36,40 +36,40 @@ #include "oval_string_map_impl.h" typedef struct oval_affected { - oval_affected_family_enum family; + oval_affected_family_t family; struct oval_collection *platforms; struct oval_collection *products; } oval_affected_t; -int oval_iterator_affected_has_more(struct oval_iterator_affected *oc_affected) +int oval_affected_iterator_has_more(struct oval_affected_iterator *oc_affected) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_affected); } -struct oval_affected *oval_iterator_affected_next(struct oval_iterator_affected +struct oval_affected *oval_affected_iterator_next(struct oval_affected_iterator *oc_affected) { return (struct oval_affected *) oval_collection_iterator_next((struct oval_iterator *)oc_affected); } -oval_affected_family_enum oval_affected_family(struct oval_affected *affected) +oval_affected_family_t oval_affected_get_family(struct oval_affected *affected) { return ((struct oval_affected *)affected)->family; } -struct oval_iterator_string *oval_affected_platform(struct oval_affected +struct oval_string_iterator *oval_affected_get_platform(struct oval_affected *affected) { - return (struct oval_iterator_string *) + return (struct oval_string_iterator *) oval_collection_iterator(affected->platforms); } -struct oval_iterator_string *oval_affected_product(struct oval_affected +struct oval_string_iterator *oval_affected_get_product(struct oval_affected *affected) { - return (struct oval_iterator_string *) + return (struct oval_string_iterator *) oval_collection_iterator(affected->products); } @@ -93,7 +93,7 @@ } void set_oval_affected_family(struct oval_affected *affected, - oval_affected_family_enum family) + oval_affected_family_t family) { affected->family = family; } @@ -132,12 +132,12 @@ { CLASS_UNKNOWN, NULL } }; -oval_affected_family_enum _odafamily(char *family) +oval_affected_family_t _odafamily(char *family) { return oscap_string_to_enum(OVAL_ODAFAMILY_MAP, family); } -const char* oval_affected_family_text(oval_affected_family_enum family) +const char* oval_affected_family_text(oval_affected_family_t family) { return OVAL_ODAFAMILY_MAP[family-1].string; } @@ -167,8 +167,8 @@ } } else { int linno = xmlTextReaderGetParserLineNumber(reader); - printf - ("NOTICE::(oval_affected)skipping <%s> depth = %d line = %d\n", + fprintf + (stderr, "NOTICE::(oval_affected)skipping <%s> depth = %d line = %d\n", tagname, xmlTextReaderDepth(reader), linno); return_code = oval_parser_skip_tag(reader, context); } diff -u -r a/src/OVAL/oval_agent.c b/src/OVAL/oval_agent.c --- a/src/OVAL/oval_agent.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_agent.c 2009-09-21 17:22:22 -0400 @@ -37,19 +37,20 @@ #include int oval_errno; -typedef struct export_target { + +typedef struct oval_export_target { char *filename; char *encoding; -} export_target_t; +} oval_export_target_t; -struct export_target *export_target_new(char *filename, char* encoding){ - export_target_t *target = (export_target_t *)malloc(sizeof(export_target_t)); +struct oval_export_target *oval_export_target_new_file(char *filename, char* encoding){ + oval_export_target_t *target = (oval_export_target_t *)malloc(sizeof(oval_export_target_t)); target->filename = strdup(filename); target->encoding = strdup(encoding); return target; } -void export_target_free(struct export_target *target){ +void oval_export_target_free(struct oval_export_target *target){ free(target->filename); free(target->encoding); target->filename = NULL; @@ -57,14 +58,14 @@ free(target); } -typedef struct import_source { +typedef struct oval_import_source { char *import_source_filename; -} import_source_t; +} oval_import_source_t; -struct import_source *import_source_file(char *filename) +struct oval_import_source *oval_import_source_new_file(char *filename) { - import_source_t *source = - (import_source_t *) malloc(sizeof(import_source_t)); + oval_import_source_t *source = + (oval_import_source_t *) malloc(sizeof(oval_import_source_t)); int namesize = strlen(filename) + 1; char *alloc_filename = (char *)malloc(namesize * sizeof(char)); *alloc_filename = 0; @@ -73,7 +74,7 @@ return source; } -void import_source_free(struct import_source *source) +void import_source_free(struct oval_import_source *source) { free(source->import_source_filename); source->import_source_filename = NULL; @@ -132,7 +133,7 @@ struct oval_syschar_model *oval_syschar_model_new( struct oval_object_model *object_model, - struct oval_iterator_variable_binding *bindings){ + struct oval_variable_binding_iterator *bindings){ oval_syschar_model_t *newmodel = (oval_syschar_model_t *) malloc(sizeof(oval_syschar_model_t)); newmodel->object_model = object_model; @@ -140,8 +141,8 @@ newmodel->sysdata_map = oval_string_map_new(); newmodel->variable_binding_map = oval_string_map_new(); if(bindings!=NULL){ - while(oval_iterator_variable_binding_has_more(bindings)){ - struct oval_variable_binding *binding = oval_iterator_variable_binding_next(bindings); + while(oval_variable_binding_iterator_has_more(bindings)){ + struct oval_variable_binding *binding = oval_variable_binding_iterator_next(bindings); add_oval_syschar_model_variable_binding(newmodel, binding); /* struct oval_variable *variable = oval_variable_binding_variable(binding); @@ -165,22 +166,22 @@ free(model); } -struct oval_object_model *oval_syschar_model_object_model( +struct oval_object_model *oval_syschar_model_get_object_model( struct oval_syschar_model *model){ return model->object_model; } -struct oval_iterator_syschar *oval_syschar_model_syschars( +struct oval_syschar_iterator *oval_syschar_model_get_syschars( struct oval_syschar_model *model){ - return (struct oval_iterator_syschar *)oval_string_map_values(model->syschar_map); + return (struct oval_syschar_iterator *)oval_string_map_values(model->syschar_map); } -struct oval_sysinfo *oval_syschar_model_sysinfo( +struct oval_sysinfo *oval_syschar_model_get_sysinfo( struct oval_syschar_model *model){ - struct oval_iterator_syschar *syschars = oval_syschar_model_syschars(model); - struct oval_syschar *syschar = oval_iterator_syschar_has_more(syschars) - ?oval_iterator_syschar_next(syschars):NULL; - return syschar==NULL?NULL:oval_syschar_sysinfo(syschar); + struct oval_syschar_iterator *syschars = oval_syschar_model_get_syschars(model); + struct oval_syschar *syschar = oval_syschar_iterator_has_more(syschars) + ?oval_syschar_iterator_next(syschars):NULL; + return syschar==NULL?NULL:oval_syschar_get_sysinfo(syschar); } bool add_oval_syschar_model_variable_binding(struct oval_syschar_model *model, struct oval_variable_binding *binding) @@ -188,11 +189,11 @@ assert(model != NULL); assert(binding != NULL); - struct oval_variable *variable = oval_variable_binding_variable(binding); + struct oval_variable *variable = oval_variable_binding_get_variable(binding); if (variable == NULL) return false; - char *varid = oval_variable_id(variable); + char *varid = oval_variable_get_id(variable); if (varid == NULL || strcmp(varid, "") == 0 || oval_string_map_get_value(model->variable_binding_map, varid) != NULL) return false; @@ -204,42 +205,42 @@ struct oval_object_model *model, struct oval_definition *definition) { - char *key = oval_definition_id(definition); + char *key = oval_definition_get_id(definition); oval_string_map_put(model->definition_map, key, (void *)definition); } void add_oval_test(struct oval_object_model *model, struct oval_test *test) { - char *key = oval_test_id(test); + char *key = oval_test_get_id(test); oval_string_map_put(model->test_map, key, (void *)test); } void add_oval_object(struct oval_object_model *model, struct oval_object *object) { - char *key = oval_object_id(object); + char *key = oval_object_get_id(object); oval_string_map_put(model->object_map, key, (void *)object); } void add_oval_state(struct oval_object_model *model, struct oval_state *state) { - char *key = oval_state_id(state); + char *key = oval_state_get_id(state); oval_string_map_put(model->state_map, key, (void *)state); } void add_oval_variable(struct oval_object_model *model, struct oval_variable *variable) { - char *key = oval_variable_id(variable); + char *key = oval_variable_get_id(variable); oval_string_map_put(model->variable_map, key, (void *)variable); } void add_oval_syschar(struct oval_syschar_model *model, struct oval_syschar *syschar) { - struct oval_object *object = oval_syschar_object(syschar); + struct oval_object *object = oval_syschar_get_object(syschar); if(object!=NULL){ - char *id = oval_object_id(object); + char *id = oval_object_get_id(object); oval_string_map_put(model->syschar_map, id, syschar); } } @@ -247,7 +248,7 @@ void add_oval_sysdata(struct oval_syschar_model *model, struct oval_sysdata *sysdata) { - char *id = oval_sysdata_id(sysdata); + char *id = oval_sysdata_get_id(sysdata); if(id!=NULL){ oval_string_map_put(model->sysdata_map, id, sysdata); } @@ -259,8 +260,8 @@ model->sysinfo = sysinfo; } -void load_oval_definitions(struct oval_object_model *model, - struct import_source *source, +void oval_object_model_load(struct oval_object_model *model, + struct oval_import_source *source, oval_xml_error_handler eh, void *user_arg) { xmlDoc *doc = xmlParseFile @@ -275,9 +276,8 @@ xmlFreeTextReader(reader); xmlFreeDoc(doc); } - -void load_oval_syschar(struct oval_syschar_model *model, - struct import_source *source, +void oval_syschar_model_load(struct oval_syschar_model *model, + struct oval_import_source *source, oval_xml_error_handler eh, void *user_arg ) { xmlDoc *doc = xmlParseFile @@ -293,7 +293,7 @@ xmlFreeDoc(doc); } -struct oval_definition *get_oval_definition(struct oval_object_model *model, +struct oval_definition *oval_object_model_get_definition(struct oval_object_model *model, char *key) { return (struct oval_definition *)oval_string_map_get_value(model-> @@ -301,25 +301,25 @@ key); } -struct oval_test *get_oval_test(struct oval_object_model *model, char *key) +struct oval_test *oval_object_model_get_test(struct oval_object_model *model, char *key) { return (struct oval_test *)oval_string_map_get_value(model->test_map, key); } -struct oval_object *get_oval_object(struct oval_object_model *model, char *key) +struct oval_object *oval_object_model_get_object(struct oval_object_model *model, char *key) { return (struct oval_object *)oval_string_map_get_value(model-> object_map, key); } -struct oval_state *get_oval_state(struct oval_object_model *model, char *key) +struct oval_state *oval_object_model_get_state(struct oval_object_model *model, char *key) { return (struct oval_state *)oval_string_map_get_value(model->state_map, key); } -struct oval_variable *get_oval_variable(struct oval_object_model *model, +struct oval_variable *oval_object_model_get_variable(struct oval_object_model *model, char *key) { return (struct oval_variable *)oval_string_map_get_value(model-> @@ -327,7 +327,7 @@ key); } -struct oval_syschar *get_oval_syschar(struct oval_syschar_model *model, +struct oval_syschar *oval_syschar_model_get_syschar(struct oval_syschar_model *model, char *object_id) { return (struct oval_syschar *)oval_string_map_get_value @@ -341,50 +341,50 @@ (model->sysdata_map, id); } -struct oval_iterator_definition *get_oval_definitions(struct oval_object_model +struct oval_definition_iterator *oval_object_model_get_definitions(struct oval_object_model *model) { - return (struct oval_iterator_definition *)oval_string_map_values(model-> + return (struct oval_definition_iterator *)oval_string_map_values(model-> definition_map); } -struct oval_iterator_test *get_oval_tests(struct oval_object_model *model) +struct oval_test_iterator *oval_object_model_get_tests(struct oval_object_model *model) { - return (struct oval_iterator_test *)oval_string_map_values(model-> + return (struct oval_test_iterator *)oval_string_map_values(model-> test_map); } -struct oval_iterator_object *get_oval_objects(struct oval_object_model *model) +struct oval_object_iterator *oval_object_model_get_objects(struct oval_object_model *model) { - return (struct oval_iterator_object *)oval_string_map_values(model-> + return (struct oval_object_iterator *)oval_string_map_values(model-> object_map); } -struct oval_iterator_state *get_oval_states(struct oval_object_model *model) +struct oval_state_iterator *oval_object_model_get_states(struct oval_object_model *model) { - return (struct oval_iterator_state *)oval_string_map_values(model-> + return (struct oval_state_iterator *)oval_string_map_values(model-> state_map); } -struct oval_iterator_variable *get_oval_variables(struct oval_object_model +struct oval_variable_iterator *oval_object_model_get_variables(struct oval_object_model *model) { - return (struct oval_iterator_variable *)oval_string_map_values(model-> + return (struct oval_variable_iterator *)oval_string_map_values(model-> variable_map); } -struct oval_iterator_syschar *get_oval_syschars(struct oval_syschar_model +struct oval_syschar_iterator *get_oval_syschars(struct oval_syschar_model *model) { - return (struct oval_iterator_syschar *)oval_string_map_values(model-> + return (struct oval_syschar_iterator *)oval_string_map_values(model-> syschar_map); } struct oval_syschar *get_oval_syschar_new (struct oval_syschar_model *model, struct oval_object *object) { - char *object_id = oval_object_id(object); - struct oval_syschar *syschar = get_oval_syschar(model, object_id); + char *object_id = oval_object_get_id(object); + struct oval_syschar *syschar = oval_syschar_model_get_syschar(model, object_id); if (syschar == NULL) { syschar = oval_syschar_new(object); add_oval_syschar(model, syschar); @@ -404,7 +404,7 @@ struct oval_definition *get_oval_definition_new(struct oval_object_model *model, char *id) { - struct oval_definition *definition = get_oval_definition(model, id); + struct oval_definition *definition = oval_object_model_get_definition(model, id); if (definition == NULL) { definition = oval_definition_new(id); add_oval_definition(model, definition); @@ -413,9 +413,9 @@ } -struct oval_variable *get_oval_variable_new(struct oval_object_model *model, char *id, oval_variable_type_enum type) +struct oval_variable *get_oval_variable_new(struct oval_object_model *model, char *id, oval_variable_type_t type) { - struct oval_variable *variable = get_oval_variable(model, id); + struct oval_variable *variable = oval_object_model_get_variable(model, id); if (variable == NULL) { variable = oval_variable_new(id, type); add_oval_variable(model, variable); @@ -425,7 +425,7 @@ struct oval_state *get_oval_state_new(struct oval_object_model *model, char *id) { - struct oval_state *state = get_oval_state(model, id); + struct oval_state *state = oval_object_model_get_state(model, id); if (state == NULL) { state = oval_state_new(id); add_oval_state(model, state); @@ -435,7 +435,7 @@ struct oval_object *get_oval_object_new(struct oval_object_model *model, char *id) { - struct oval_object *object = get_oval_object(model, id); + struct oval_object *object = oval_object_model_get_object(model, id); if (object == NULL) { object = oval_object_new(id); add_oval_object(model, object); @@ -445,7 +445,7 @@ struct oval_test *get_oval_test_new(struct oval_object_model *model, char *id) { - struct oval_test *test = get_oval_test(model, id); + struct oval_test *test = oval_object_model_get_test(model, id); if (test == NULL) { test = oval_test_new(id); add_oval_test(model, test); @@ -507,15 +507,15 @@ free(model); } -struct oval_object_model *oval_results_model_object_model +struct oval_object_model *oval_results_model_get_object_model (struct oval_results_model *model) { return model->object_model; } -struct oval_iterator_result_system *oval_results_model_systems +struct oval_result_system_iterator *oval_results_model_get_systems (struct oval_results_model *model){ - return (struct oval_iterator_result_system *) + return (struct oval_result_system_iterator *) oval_collection_iterator(model->systems); } @@ -525,8 +525,8 @@ if(system)oval_collection_add(model->systems, system); } -struct oval_result_directives *load_oval_results - (struct oval_results_model *model, struct import_source *source, +struct oval_result_directives *oval_results_model_load + (struct oval_results_model *model, struct oval_import_source *source, oval_xml_error_handler handler, void *client_data) { xmlDoc *doc = xmlParseFile(source->import_source_filename); @@ -547,28 +547,28 @@ struct oval_string_map *tstmap, oval_definitions_resolver resolver, void *user_arg) { - oval_criteria_node_type_enum type = oval_criteria_node_type(node); + oval_criteria_node_type_t type = oval_criteria_node_get_type(node); switch(type) { case NODETYPE_CRITERIA:{ - struct oval_iterator_criteria_node *subnodes = oval_criteria_node_subnodes(node); - while(oval_iterator_criteria_node_has_more(subnodes)){ - struct oval_criteria_node *subnode = oval_iterator_criteria_node_next(subnodes); + struct oval_criteria_node_iterator *subnodes = oval_criteria_node_get_subnodes(node); + while(oval_criteria_node_iterator_has_more(subnodes)){ + struct oval_criteria_node *subnode = oval_criteria_node_iterator_next(subnodes); _oval_agent_scan_for_extensions_tests(subnode, extmap, tstmap, resolver, user_arg); } };break; case NODETYPE_CRITERION:{ - struct oval_test *test = oval_criteria_node_test(node); - char *tstid = oval_test_id(test); + struct oval_test *test = oval_criteria_node_get_test(node); + char *tstid = oval_test_get_id(test); void *value = oval_string_map_get_value(tstmap,tstid); if(value==NULL){ oval_string_map_put(tstmap, tstid, test); } };break; case NODETYPE_EXTENDDEF:{ - struct oval_definition *extends = oval_criteria_node_definition(node); + struct oval_definition *extends = oval_criteria_node_get_definition(node); if(resolver && !(*resolver)(extends, user_arg)){ - char *extid = oval_definition_id(extends); + char *extid = oval_definition_get_id(extends); void *value = oval_string_map_get_value(extmap, extid); if(value==NULL){ oval_string_map_put(extmap, extid, extends); @@ -597,12 +597,12 @@ struct oval_string_map *sttmap, struct oval_string_map *varmap) { - struct oval_iterator_object_content *contents = oval_object_object_content(object); - while(oval_iterator_object_content_has_more(contents)){ - struct oval_object_content *content = oval_iterator_object_content_next(contents); - struct oval_entity *entity = oval_object_content_entity(content); + struct oval_object_content_iterator *contents = oval_object_get_object_content(object); + while(oval_object_content_iterator_has_more(contents)){ + struct oval_object_content *content = oval_object_content_iterator_next(contents); + struct oval_entity *entity = oval_object_content_get_entity(content); if(entity)_oval_agent_scan_entity_for_references(entity, objmap, sttmap, varmap); - struct oval_set *set = oval_object_content_set(content); + struct oval_set *set = oval_object_content_get_setobject(content); if(set)_oval_agent_scan_set_for_references(set, objmap, sttmap, varmap); } } @@ -612,10 +612,10 @@ struct oval_string_map *sttmap, struct oval_string_map *varmap) { - struct oval_iterator_state_content *contents = oval_state_contents(state); - while(oval_iterator_state_content_has_more(contents)){ - struct oval_state_content *content = oval_iterator_state_content_next(contents); - struct oval_entity *entity = oval_state_content_entity(content); + struct oval_state_content_iterator *contents = oval_state_get_contents(state); + while(oval_state_content_iterator_has_more(contents)){ + struct oval_state_content *content = oval_state_content_iterator_next(contents); + struct oval_entity *entity = oval_state_content_get_entity(content); if(entity)_oval_agent_scan_entity_for_references(entity, objmap, sttmap, varmap); } } @@ -626,27 +626,27 @@ struct oval_string_map *sttmap, struct oval_string_map *varmap) { - struct oval_variable *variable = oval_component_variable(component); + struct oval_variable *variable = oval_component_get_variable(component); if(variable){ - char *varid = oval_variable_id(variable); + char *varid = oval_variable_get_id(variable); void *value = oval_string_map_get_value(varmap, varid); if(value==NULL){ oval_string_map_put(varmap, varid, variable); - struct oval_component *component = oval_variable_component(variable); + struct oval_component *component = oval_variable_get_component(variable); if(component){ _oval_agent_scan_component_for_references(component, objmap, sttmap, varmap); } } }else{ - struct oval_iterator_component *fcomponents = oval_component_function_components(component); - if(fcomponents)while(oval_iterator_component_has_more(fcomponents)){ - struct oval_component *fcomponent = oval_iterator_component_next(fcomponents); + struct oval_component_iterator *fcomponents = oval_component_get_function_components(component); + if(fcomponents)while(oval_component_iterator_has_more(fcomponents)){ + struct oval_component *fcomponent = oval_component_iterator_next(fcomponents); _oval_agent_scan_component_for_references(fcomponent, objmap, sttmap, varmap); } - struct oval_object *object = oval_component_object(component); + struct oval_object *object = oval_component_get_object(component); if(object){ - char *objid = oval_object_id(object); + char *objid = oval_object_get_id(object); void *value = oval_string_map_get_value(objmap, objid); if(value==NULL){ oval_string_map_put(objmap, objid, object); @@ -662,13 +662,13 @@ struct oval_string_map *sttmap, struct oval_string_map *varmap) { - struct oval_variable *variable = oval_entity_variable(entity); + struct oval_variable *variable = oval_entity_get_variable(entity); if(variable){ - char *varid = oval_variable_id(variable); + char *varid = oval_variable_get_id(variable); void *value = oval_string_map_get_value(varmap, varid); if(value==NULL){ oval_string_map_put(varmap, varid, variable); - struct oval_component *component = oval_variable_component(variable); + struct oval_component *component = oval_variable_get_component(variable); if(component){ _oval_agent_scan_component_for_references(component, objmap, sttmap, varmap); } @@ -682,29 +682,29 @@ struct oval_string_map *sttmap, struct oval_string_map *varmap) { - struct oval_iterator_object *objects = oval_set_objects(set); - if(objects)while(oval_iterator_object_has_more(objects)){ - struct oval_object *object = oval_iterator_object_next(objects); - char *objid = oval_object_id(object); + struct oval_object_iterator *objects = oval_set_get_objects(set); + if(objects)while(oval_object_iterator_has_more(objects)){ + struct oval_object *object = oval_object_iterator_next(objects); + char *objid = oval_object_get_id(object); void *value = oval_string_map_get_value(objmap, objid); if(value==NULL){ oval_string_map_put(objmap, objid, object); _oval_agent_scan_object_for_references(object, objmap, sttmap, varmap); } } - struct oval_iterator_state *states = oval_set_filters(set); - if(states)while(oval_iterator_state_has_more(states)){ - struct oval_state *state = oval_iterator_state_next(states); - char *sttid = oval_state_id(state); + struct oval_state_iterator *states = oval_set_get_filters(set); + if(states)while(oval_state_iterator_has_more(states)){ + struct oval_state *state = oval_state_iterator_next(states); + char *sttid = oval_state_get_id(state); void *value = oval_string_map_get_value(sttmap, sttid); if(value==NULL){ oval_string_map_put(sttmap, sttid, state); _oval_agent_scan_state_for_references(state, objmap, sttmap, varmap); } } - struct oval_iterator_set *subsets = oval_set_subsets(set); - if(subsets)while(oval_iterator_set_has_more(subsets)){ - struct oval_set *subset = oval_iterator_set_next(subsets); + struct oval_set_iterator *subsets = oval_set_get_subsets(set); + if(subsets)while(oval_set_iterator_has_more(subsets)){ + struct oval_set *subset = oval_set_iterator_next(subsets); _oval_agent_scan_set_for_references(subset, objmap, sttmap, varmap); } } @@ -732,24 +732,24 @@ _generator_to_dom(doc, tag_generator); struct oval_string_map *tstmap = oval_string_map_new(); - struct oval_iterator_definition *definitions = get_oval_definitions(object_model); - if(oval_iterator_definition_has_more(definitions)){ + struct oval_definition_iterator *definitions = oval_object_model_get_definitions(object_model); + if(oval_definition_iterator_has_more(definitions)){ struct oval_string_map *extmap = oval_string_map_new(); xmlNode *definitions_node = NULL; - while(oval_iterator_definition_has_more(definitions)){ - struct oval_definition *definition = oval_iterator_definition_next(definitions); + int i;for(i=0;oval_definition_iterator_has_more(definitions); i++){ + struct oval_definition *definition = oval_definition_iterator_next(definitions); if(resolver==NULL || (*resolver)(definition, user_arg)){ if(definitions_node==NULL)definitions_node = xmlNewChild(root_node, ns_defntns, "definitions", NULL); oval_definition_to_dom (definition, doc, definitions_node); - struct oval_criteria_node *criteria = oval_definition_criteria(definition); - _oval_agent_scan_for_extensions_tests(criteria, extmap, tstmap, resolver, user_arg); + struct oval_criteria_node *criteria = oval_definition_get_criteria(definition); + if(criteria)_oval_agent_scan_for_extensions_tests(criteria, extmap, tstmap, resolver, user_arg); } } - definitions = (struct oval_iterator_definition *)oval_string_map_values(extmap); - while(oval_iterator_definition_has_more(definitions)){ - struct oval_definition *definition = oval_iterator_definition_next(definitions); + definitions = (struct oval_definition_iterator *)oval_string_map_values(extmap); + while(oval_definition_iterator_has_more(definitions)){ + struct oval_definition *definition = oval_definition_iterator_next(definitions); oval_definition_to_dom (definition, doc, definitions_node); } @@ -760,24 +760,24 @@ struct oval_string_map *sttmap = oval_string_map_new(); struct oval_string_map *varmap = oval_string_map_new(); - struct oval_iterator_test *tests = (struct oval_iterator_test *)oval_string_map_values(tstmap); - if(oval_iterator_test_has_more(tests)){ + struct oval_test_iterator *tests = (struct oval_test_iterator *)oval_string_map_values(tstmap); + if(oval_test_iterator_has_more(tests)){ xmlNode *tests_node = xmlNewChild(root_node, ns_defntns, "tests", NULL); - while(oval_iterator_test_has_more(tests)){ - struct oval_test *test = oval_iterator_test_next(tests); + while(oval_test_iterator_has_more(tests)){ + struct oval_test *test = oval_test_iterator_next(tests); oval_test_to_dom(test, doc, tests_node); - struct oval_object *object = oval_test_object(test); + struct oval_object *object = oval_test_get_object(test); if(object){ - char *object_id = oval_object_id(object); + char *object_id = oval_object_get_id(object); void *value = oval_string_map_get_value(objmap, object_id); if(value==NULL){ oval_string_map_put(objmap, object_id, object); _oval_agent_scan_object_for_references(object, objmap, sttmap, varmap); } } - struct oval_state *state = oval_test_state(test); + struct oval_state *state = oval_test_get_state(test); if(state){ - char *state_id = oval_state_id(state); + char *state_id = oval_state_get_id(state); void *value = oval_string_map_get_value(sttmap, state_id); if(value==NULL){ oval_string_map_put(sttmap, state_id, state); @@ -787,23 +787,23 @@ } } - struct oval_iterator_object *objects = (struct oval_iterator_object *)oval_string_map_values(objmap); - if(oval_iterator_object_has_more(objects)){ + struct oval_object_iterator *objects = (struct oval_object_iterator *)oval_string_map_values(objmap); + if(oval_object_iterator_has_more(objects)){ xmlNode *objects_node = xmlNewChild(root_node, ns_defntns, "objects", NULL); - int index;for(index=0;oval_iterator_object_has_more(objects); index++){ - struct oval_object *object = oval_iterator_object_next(objects); + int index;for(index=0;oval_object_iterator_has_more(objects); index++){ + struct oval_object *object = oval_object_iterator_next(objects); oval_object_to_dom(object, doc, objects_node); } } - struct oval_iterator_state *states = (struct oval_iterator_state *)oval_string_map_values(sttmap); - if(oval_iterator_state_has_more(states)){ + struct oval_state_iterator *states = (struct oval_state_iterator *)oval_string_map_values(sttmap); + if(oval_state_iterator_has_more(states)){ xmlNode *states_node = xmlNewChild(root_node, ns_defntns, "states", NULL); - while(oval_iterator_state_has_more(states)){ - struct oval_state *state = oval_iterator_state_next(states); + while(oval_state_iterator_has_more(states)){ + struct oval_state *state = oval_state_iterator_next(states); oval_state_to_dom(state, doc, states_node); } } - struct oval_iterator_variable *variables = (struct oval_iterator_variable *)oval_string_map_values(varmap); + struct oval_variable_iterator *variables = (struct oval_variable_iterator *)oval_string_map_values(varmap); if(oval_iterator_variable_has_more(variables)){ xmlNode *variables_node = xmlNewChild(root_node, ns_defntns, "variables", NULL); while(oval_iterator_variable_has_more(variables)){ @@ -812,16 +812,16 @@ } } - oval_string_map_free(tstmap, NULL); oval_string_map_free(objmap, NULL); oval_string_map_free(sttmap, NULL); oval_string_map_free(varmap, NULL); + oval_string_map_free(tstmap, NULL); - return root_node; + return root_node; } -int export_definitions( - struct oval_object_model *model, struct export_target *target){ +int oval_object_model_export( + struct oval_object_model *model, struct oval_export_target *target){ LIBXML_TEST_VERSION; @@ -837,7 +837,8 @@ } xmlNode *oval_characteristics_to_dom - (struct oval_syschar_model *syschar_model, xmlDocPtr doc, xmlNode *parent) + (struct oval_syschar_model *syschar_model, xmlDocPtr doc, xmlNode *parent, + oval_syschar_resolver resolver, void *user_arg) { xmlNodePtr root_node; if(parent){ @@ -858,20 +859,33 @@ _generator_to_dom(doc, tag_generator); - oval_sysinfo_to_dom(oval_syschar_model_sysinfo(syschar_model), doc, root_node); + oval_sysinfo_to_dom(oval_syschar_model_get_sysinfo(syschar_model), doc, root_node); - xmlNode *tag_objects = xmlNewChild - (root_node, ns_syschar, BAD_CAST "collected_objects",NULL); + struct oval_syschar_iterator *syschars = oval_syschar_model_get_syschars(syschar_model); + if(resolver){ + struct oval_collection *collection = oval_collection_new(); + while(oval_syschar_iterator_has_more(syschars)){ + struct oval_syschar *syschar = oval_syschar_iterator_next(syschars); + if((*resolver)(syschar, user_arg)){ + oval_collection_add(collection, syschar); + } + } + syschars = (struct oval_syschar_iterator *)oval_collection_iterator(collection); + } struct oval_string_map *sysdata_map = oval_string_map_new(); - struct oval_iterator_syschar *syschars = oval_syschar_model_syschars(syschar_model); - while(oval_iterator_syschar_has_more(syschars)){ - struct oval_syschar *syschar =oval_iterator_syschar_next(syschars); - oval_syschar_to_dom(syschar, doc, tag_objects); - struct oval_iterator_sysdata *sysdatas = oval_syschar_sysdata(syschar); - while(oval_iterator_sysdata_has_more(sysdatas)){ - struct oval_sysdata *sysdata = oval_iterator_sysdata_next(sysdatas); - oval_string_map_put(sysdata_map, oval_sysdata_id(sysdata), sysdata); + if(oval_syschar_iterator_has_more(syschars)){ + xmlNode *tag_objects = xmlNewChild + (root_node, ns_syschar, BAD_CAST "collected_objects",NULL); + + while(oval_syschar_iterator_has_more(syschars)){ + struct oval_syschar *syschar =oval_syschar_iterator_next(syschars); + oval_syschar_to_dom(syschar, doc, tag_objects); + struct oval_sysdata_iterator *sysdatas = oval_syschar_sysdata(syschar); + while(oval_sysdata_iterator_has_more(sysdatas)){ + struct oval_sysdata *sysdata = oval_sysdata_iterator_next(sysdatas); + oval_string_map_put(sysdata_map, oval_sysdata_get_id(sysdata), sysdata); + } } } @@ -890,13 +904,13 @@ return root_node; } -int export_characteristics( - struct oval_syschar_model *model, struct export_target *target){ +int oval_syschar_model_export( + struct oval_syschar_model *model, struct oval_export_target *target){ LIBXML_TEST_VERSION; xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0"); - oval_characteristics_to_dom(model, doc, NULL); + oval_characteristics_to_dom(model, doc, NULL, NULL, NULL); /* * Dumping document to stdio or file */ @@ -909,17 +923,17 @@ void _scan_for_viewable_definitions (struct oval_results_model *results_model, struct oval_result_directives *directives, struct oval_string_map *defids) { - struct oval_iterator_result_system *systems = oval_results_model_systems(results_model); - while(oval_iterator_result_system_has_more(systems)){ - struct oval_result_system *system = oval_iterator_result_system_next(systems); - struct oval_iterator_result_definition *rslt_definitions = oval_result_system_definitions(system); - while(oval_iterator_result_definition_has_more(rslt_definitions)){ - struct oval_result_definition *rslt_definition = oval_iterator_result_definition_next(rslt_definitions); - oval_result_enum result = oval_result_definition_result(rslt_definition); - if(oval_result_directive_reported(directives, result)){ - struct oval_definition *oval_definition = oval_result_definition_definition(rslt_definition); + struct oval_result_system_iterator *systems = oval_results_model_get_systems(results_model); + while(oval_result_system_iterator_has_more(systems)){ + struct oval_result_system *system = oval_result_system_iterator_next(systems); + struct oval_result_definition_iterator *rslt_definitions = oval_result_system_get_definitions(system); + int i;for(i=0;oval_result_definition_iterator_has_more(rslt_definitions); i++){ + struct oval_result_definition *rslt_definition = oval_result_definition_iterator_next(rslt_definitions); + oval_result_t result = oval_result_definition_get_result(rslt_definition); + if(oval_result_directive_get_reported(directives, result)){ + struct oval_definition *oval_definition = oval_result_definition_get_definition(rslt_definition); if(oval_definition){ - char *defid = oval_definition_id(oval_definition); + char *defid = oval_definition_get_id(oval_definition); oval_string_map_put(defids, defid, oval_definition); } } @@ -930,7 +944,7 @@ bool _resolve_oval_definition_from_map (struct oval_definition *oval_definition, struct oval_string_map *defids) { - char *defid = oval_definition_id(oval_definition); + char *defid = oval_definition_get_id(oval_definition); return oval_string_map_get_value(defids, defid)!=NULL; } @@ -961,31 +975,33 @@ struct oval_string_map *defids = oval_string_map_new(); _scan_for_viewable_definitions(results_model, directives, defids); - struct oval_object_model *object_model = oval_results_model_object_model(results_model); + struct oval_object_model *object_model = oval_results_model_get_object_model(results_model); oval_definitions_to_dom (object_model, doc, root_node, (oval_definitions_resolver *)_resolve_oval_definition_from_map, defids); xmlNode *results_node = xmlNewChild(root_node, ns_results, "results", NULL); - struct oval_iterator_result_system *systems = oval_results_model_systems(results_model); - while(oval_iterator_result_system_has_more(systems)){ + struct oval_result_system_iterator *systems = oval_results_model_get_systems(results_model); + while(oval_result_system_iterator_has_more(systems)){ struct oval_result_system *system - = oval_iterator_result_system_next(systems); + = oval_result_system_iterator_next(systems); oval_result_system_to_dom (system, results_model, directives, doc, results_node); } - return root_node; + + return root_node; } -int export_results +int oval_results_model_export (struct oval_results_model *results_model, struct oval_result_directives *directives, - struct export_target *target) + struct oval_export_target *target) { LIBXML_TEST_VERSION; xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0"); + oval_results_to_dom(results_model, directives, doc, NULL); xmlSaveFormatFileEnc (target->filename, doc, target->encoding, 1); diff -u -r a/src/OVAL/oval_agent_api_impl.h b/src/OVAL/oval_agent_api_impl.h --- a/src/OVAL/oval_agent_api_impl.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_agent_api_impl.h 2009-09-21 17:14:28 -0400 @@ -60,13 +60,17 @@ struct oval_test *get_oval_test_new(struct oval_object_model *, char *); struct oval_object *get_oval_object_new(struct oval_object_model *, char *); struct oval_state *get_oval_state_new(struct oval_object_model *, char *); -struct oval_variable *get_oval_variable_new(struct oval_object_model *, char *, oval_variable_type_enum type); +struct oval_variable *get_oval_variable_new(struct oval_object_model *, char *, oval_variable_type_t type); bool add_oval_syschar_model_variable_binding(struct oval_syschar_model *, struct oval_variable_binding *); struct oval_syschar *get_oval_syschar_new(struct oval_syschar_model *, struct oval_object *); struct oval_syschar_item *get_oval_syschar_item_new(struct oval_syschar_model *, char *); + +typedef bool oval_syschar_resolver(struct oval_syschar *, void *); + xmlNode *oval_characteristics_to_dom - (struct oval_syschar_model *, xmlDocPtr, xmlNode *); + (struct oval_syschar_model *, xmlDocPtr, xmlNode *, + oval_syschar_resolver, void *); struct oval_sysdata *get_oval_sysdata_new(struct oval_syschar_model *, char *); diff -u -r a/src/OVAL/oval_behavior.c b/src/OVAL/oval_behavior.c --- a/src/OVAL/oval_behavior.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_behavior.c 2009-09-21 17:09:41 -0400 @@ -39,25 +39,25 @@ char *key; } oval_behavior_t; -int oval_iterator_behavior_has_more(struct oval_iterator_behavior *oc_behavior) +int oval_behavior_iterator_has_more(struct oval_behavior_iterator *oc_behavior) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_behavior); } -struct oval_behavior *oval_iterator_behavior_next(struct oval_iterator_behavior +struct oval_behavior *oval_behavior_iterator_next(struct oval_behavior_iterator *oc_behavior) { return (struct oval_behavior *) oval_collection_iterator_next((struct oval_iterator *)oc_behavior); } -char *oval_behavior_value(struct oval_behavior *behavior) +char *oval_behavior_get_value(struct oval_behavior *behavior) { return behavior->value; } -char *oval_behavior_key(struct oval_behavior +char *oval_behavior_get_key(struct oval_behavior *behavior) { return behavior->key; @@ -90,7 +90,7 @@ //typedef void (*oval_behavior_consumer)(struct oval_behavior_node *, void*); int oval_behavior_parse_tag(xmlTextReaderPtr reader, struct oval_parser_context *context, - oval_family_enum family, + oval_family_t family, oval_behavior_consumer consumer, void *user) { while (xmlTextReaderMoveToNextAttribute(reader) == 1) { @@ -118,5 +118,5 @@ else snprintf(nxtindent, sizeof(nxtindent), "%sBEHAVIOR[%d].", indent, idx); - printf("%s%s = [%s]\n", nxtindent, oval_behavior_key(behavior), oval_behavior_value(behavior)); + printf("%s%s = [%s]\n", nxtindent, oval_behavior_get_key(behavior), oval_behavior_get_value(behavior)); } diff -u -r a/src/OVAL/oval_collection.c b/src/OVAL/oval_collection.c --- a/src/OVAL/oval_collection.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_collection.c 2009-09-21 14:58:49 -0400 @@ -111,8 +111,9 @@ int oval_collection_iterator_has_more(struct oval_iterator *iterator) { int has_more = iterator->item_iterator_frame != NULL; - if (!has_more) + if (!has_more){ free(iterator); + } return has_more; } @@ -132,11 +133,11 @@ return next; } -struct oval_iterator_string *oval_collection_string_iterator(struct +struct oval_string_iterator *oval_collection_string_iterator(struct oval_collection *os_string) { - return (struct oval_iterator_string *) + return (struct oval_string_iterator *) oval_collection_iterator(os_string); } @@ -158,13 +159,13 @@ iterator->item_iterator_frame = newframe; } -int oval_iterator_string_has_more(struct oval_iterator_string *iterator) +int oval_string_iterator_has_more(struct oval_string_iterator *iterator) { return oval_collection_iterator_has_more((struct oval_iterator *) iterator); } -char *oval_iterator_string_next(struct oval_iterator_string *iterator) +char *oval_string_iterator_next(struct oval_string_iterator *iterator) { return (char *)oval_collection_iterator_next((struct oval_iterator *) iterator); diff -u -r a/src/OVAL/oval_collection_impl.h b/src/OVAL/oval_collection_impl.h --- a/src/OVAL/oval_collection_impl.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_collection_impl.h 2009-09-21 14:48:37 -0400 @@ -43,6 +43,6 @@ int oval_collection_iterator_has_more(struct oval_iterator *); void *oval_collection_iterator_next(struct oval_iterator *); -struct oval_iterator_string; +struct oval_string_iterator; #endif /* OVALCOLLECTION_H_ */ diff -u -r a/src/OVAL/oval_component.c b/src/OVAL/oval_component.c --- a/src/OVAL/oval_component.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_component.c 2009-09-21 17:15:01 -0400 @@ -37,114 +37,114 @@ #include "oval_parser_impl.h" typedef struct oval_component { - oval_component_type_enum type; + oval_component_type_t type; } oval_component_t; typedef struct oval_component_LITERAL { - oval_component_type_enum type; + oval_component_type_t type; struct oval_value *value; //type==OVAL_COMPONENT_LITERAL } oval_component_LITERAL_t; typedef struct oval_component_OBJECTREF { - oval_component_type_enum type; + oval_component_type_t type; struct oval_object *object; //type==OVAL_COMPONENT_OBJECTREF char *object_field; //type==OVAL_COMPONENT_OBJECTREF } oval_component_OBJECTREF_t; typedef struct oval_component_VARREF { - oval_component_type_enum type; + oval_component_type_t type; struct oval_variable *variable; //type==OVAL_COMPONENT_VARREF } oval_component_VARREF_t; typedef struct oval_component_FUNCTION { - oval_component_type_enum type; + oval_component_type_t type; struct oval_collection *function_components; //type==OVAL_COMPONENT_FUNCTION } oval_component_FUNCTION_t; typedef struct oval_component_ARITHMETIC { - oval_component_type_enum type; + oval_component_type_t type; struct oval_collection *function_components; //type==OVAL_COMPONENT_FUNCTION - oval_arithmetic_operation_enum operation; //type==OVAL_COMPONENT_ARITHMETIC + oval_arithmetic_operation_t operation; //type==OVAL_COMPONENT_ARITHMETIC } oval_component_ARITHMETIC_t; typedef struct oval_component_BEGEND { - oval_component_type_enum type; + oval_component_type_t type; struct oval_collection *function_components; //type==OVAL_COMPONENT_FUNCTION - char *character; //type==OVAL_COMPONENT_BEGIN + char *character; //type==OVAL_COMPONENT_BEGIN/END } oval_component_BEGEND_t; typedef struct oval_component_SPLIT { - oval_component_type_enum type; + oval_component_type_t type; struct oval_collection *function_components; //type==OVAL_COMPONENT_FUNCTION char *delimiter; //type==OVAL_COMPONENT_SPLIT } oval_component_SPLIT_t; typedef struct oval_component_SUBSTRING { - oval_component_type_enum type; + oval_component_type_t type; struct oval_collection *function_components; //type==OVAL_COMPONENT_FUNCTION int start; //type==OVAL_COMPONENT_SUBSTRING int length; //type==OVAL_COMPONENT_SUBSTRING } oval_component_SUBSTRING_t; typedef struct oval_component_TIMEDIF { - oval_component_type_enum type; + oval_component_type_t type; struct oval_collection *function_components; //type==OVAL_COMPONENT_FUNCTION - oval_datetime_format_enum format_1; //type==OVAL_COMPONENT_TIMEDIF - oval_datetime_format_enum format_2; //type==OVAL_COMPONENT_TIMEDIF + oval_datetime_format_t format_1; //type==OVAL_COMPONENT_TIMEDIF + oval_datetime_format_t format_2; //type==OVAL_COMPONENT_TIMEDIF } oval_component_TIMEDIF_t; typedef struct oval_component_REGEX_CAPTURE { - oval_component_type_enum type; + oval_component_type_t type; struct oval_collection *function_components; //type==OVAL_COMPONENT_FUNCTION char *pattern; //type==OVAL_COMPONENT_REGEX_CAPTURE } oval_component_REGEX_CAPTURE_t; -int oval_iterator_component_has_more(struct oval_iterator_component +int oval_component_iterator_has_more(struct oval_component_iterator *oc_component) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_component); } -struct oval_component *oval_iterator_component_next(struct - oval_iterator_component +struct oval_component *oval_component_iterator_next(struct + oval_component_iterator *oc_component) { return (struct oval_component *) oval_collection_iterator_next((struct oval_iterator *)oc_component); } -oval_component_type_enum oval_component_type(struct oval_component *component) +oval_component_type_t oval_component_get_type(struct oval_component *component) { return component->type; } -struct oval_value *oval_component_literal_value(struct oval_component +struct oval_value *oval_component_get_literal_value(struct oval_component *component) { //type==OVAL_COMPONENT_LITERAL struct oval_value *value = NULL; - if (oval_component_type(component) == OVAL_COMPONENT_LITERAL) { + if (oval_component_get_type(component) == OVAL_COMPONENT_LITERAL) { value = ((struct oval_component_LITERAL *)component)->value; } return value; } -struct oval_object *oval_component_object(struct oval_component *component) +struct oval_object *oval_component_get_object(struct oval_component *component) { //type==OVAL_COMPONENT_OBJECTREF struct oval_object *object = NULL; - if (oval_component_type(component) == OVAL_COMPONENT_OBJECTREF) { + if (oval_component_get_type(component) == OVAL_COMPONENT_OBJECTREF) { object = ((struct oval_component_OBJECTREF *)component)->object; } return object; } -char *oval_component_object_field(struct oval_component *component) +char *oval_component_get_object_field(struct oval_component *component) { //type==OVAL_COMPONENT_OBJECTREF char *field = NULL; - if (oval_component_type(component) == OVAL_COMPONENT_OBJECTREF) { + if (oval_component_get_type(component) == OVAL_COMPONENT_OBJECTREF) { field = ((struct oval_component_OBJECTREF *)component)-> object_field; @@ -152,40 +152,40 @@ return field; } -struct oval_variable *oval_component_variable(struct oval_component *component) +struct oval_variable *oval_component_get_variable(struct oval_component *component) { //type==OVAL_COMPONENT_VARREF struct oval_variable *variable = NULL; - if (oval_component_type(component) == OVAL_COMPONENT_VARREF) { + if (oval_component_get_type(component) == OVAL_COMPONENT_VARREF) { variable = ((struct oval_component_VARREF *)component)->variable; } return variable; } -struct oval_iterator_component *oval_component_function_components(struct +struct oval_component_iterator *oval_component_get_function_components(struct oval_component *component) { //type==OVAL_COMPONENT_FUNCTION - struct oval_iterator_component *iterator; + struct oval_component_iterator *iterator; if (component->type > OVAL_COMPONENT_FUNCTION) { oval_component_FUNCTION_t *function = (oval_component_FUNCTION_t *) component; iterator = - (struct oval_iterator_component *) + (struct oval_component_iterator *) oval_collection_iterator(function->function_components); } else iterator = NULL; return iterator; } -oval_arithmetic_operation_enum oval_component_arithmetic_operation(struct +oval_arithmetic_operation_t oval_component_get_arithmetic_operation(struct oval_component * component) { //type==OVAL_COMPONENT_ARITHMETIC - oval_arithmetic_operation_enum operation; + oval_arithmetic_operation_t operation; if (component->type == OVAL_FUNCTION_ARITHMETIC) { oval_component_ARITHMETIC_t *arithmetic = (oval_component_ARITHMETIC_t *) component; @@ -195,9 +195,9 @@ return operation; } -char *oval_component_begin_character(struct oval_component *component) +char *oval_component_get_begin_character(struct oval_component *component) { - //type==OVAL_COMPONENT_BEGIN + //type==OVAL_COMPONENT_BEGIN/END char *character; if (component->type == OVAL_FUNCTION_BEGIN) { oval_component_BEGEND_t *begin = @@ -208,7 +208,7 @@ return character; } -char *oval_component_end_character(struct oval_component *component) +char *oval_component_get_end_character(struct oval_component *component) { //type==OVAL_COMPONENT_END char *character; @@ -221,7 +221,7 @@ return character; } -char *oval_component_split_delimiter(struct oval_component *component) +char *oval_component_get_split_delimiter(struct oval_component *component) { //type==OVAL_COMPONENT_SPLIT char *delimiter; @@ -234,7 +234,7 @@ return delimiter; } -int oval_component_substring_start(struct oval_component *component) +int oval_component_get_substring_start(struct oval_component *component) { //type==OVAL_COMPONENT_SUBSTRING int start; @@ -247,7 +247,7 @@ return start; } -int oval_component_substring_length(struct oval_component *component) +int oval_component_get_substring_length(struct oval_component *component) { //type==OVAL_COMPONENT_SUBSTRING int length; @@ -260,11 +260,11 @@ return length; } -oval_datetime_format_enum oval_component_timedif_format_1(struct oval_component +oval_datetime_format_t oval_component_get_timedif_format_1(struct oval_component * component) { //type==OVAL_COMPONENT_TIMEDIF - oval_datetime_format_enum format; + oval_datetime_format_t format; if (component->type == OVAL_FUNCTION_TIMEDIF) { oval_component_TIMEDIF_t *timedif = (oval_component_TIMEDIF_t *) component; @@ -274,11 +274,11 @@ return format; } -oval_datetime_format_enum oval_component_timedif_format_2(struct oval_component +oval_datetime_format_t oval_component_get_timedif_format_2(struct oval_component * component) { //type==OVAL_COMPONENT_TIMEDIF - oval_datetime_format_enum format; + oval_datetime_format_t format; if (component->type == OVAL_FUNCTION_TIMEDIF) { oval_component_TIMEDIF_t *timedif = (oval_component_TIMEDIF_t *) component; @@ -288,7 +288,7 @@ return format; } -char *oval_component_regex_pattern +char *oval_component_get_regex_pattern (struct oval_component *component) { //type==OVAL_COMPONENT_REGEX_CAPTURE @@ -301,7 +301,7 @@ return pattern; } -struct oval_component *oval_component_new(oval_component_type_enum type) +struct oval_component *oval_component_new(oval_component_type_t type) { oval_component_t *component; switch (type) { @@ -603,7 +603,7 @@ struct oval_component *component) { oval_component_ARITHMETIC_t *arithmetic = (oval_component_ARITHMETIC_t *) component; - oval_arithmetic_operation_enum operation = + oval_arithmetic_operation_t operation = oval_arithmetic_operation_parse(reader, "arithmetic_operation", OVAL_ARITHMETIC_UNKNOWN); arithmetic->operation = operation; @@ -657,10 +657,10 @@ struct oval_component *component) { oval_component_TIMEDIF_t *timedif = (oval_component_TIMEDIF_t *) component; - oval_datetime_format_enum format_1 = + oval_datetime_format_t format_1 = oval_datetime_format_parse(reader, "format_1", OVAL_DATETIME_YEAR_MONTH_DAY); - oval_datetime_format_enum format_2 = + oval_datetime_format_t format_2 = oval_datetime_format_parse(reader, "format_2", OVAL_DATETIME_YEAR_MONTH_DAY); timedif->format_1 = format_1; @@ -751,8 +751,8 @@ component); } else { int line = xmlTextReaderGetParserLineNumber(reader); - printf - ("NOTICE::oval_component_parse_tag::<%s> not handled (line = %d)\n", + fprintf + (stderr, "NOTICE::oval_component_parse_tag::<%s> not handled (line = %d)\n", tagname, line); return_code = oval_parser_skip_tag(reader, context); } @@ -769,15 +769,15 @@ } void function_comp_to_print(struct oval_component *component, char* nxtindent) { - struct oval_iterator_component *subcomps = - oval_component_function_components(component); - if (oval_iterator_component_has_more(subcomps)) { + struct oval_component_iterator *subcomps = + oval_component_get_function_components(component); + if (oval_component_iterator_has_more(subcomps)) { int i; for (i = 1; - oval_iterator_component_has_more(subcomps); + oval_component_iterator_has_more(subcomps); i++) { struct oval_component *subcomp = - oval_iterator_component_next(subcomps); + oval_component_iterator_next(subcomps); oval_component_to_print(subcomp, nxtindent, i); } } else @@ -799,14 +799,14 @@ snprintf(nxtindent, sizeof(nxtindent), "%sCOMPONENT[%d].", indent, idx); printf("%sTYPE(%lx) = %d\n", nxtindent, (unsigned long)component, - oval_component_type(component)); - if (oval_component_type(component) > OVAL_COMPONENT_FUNCTION) { + oval_component_get_type(component)); + if (oval_component_get_type(component) > OVAL_COMPONENT_FUNCTION) { //oval_component_FUNCTION_t *function = (oval_component_FUNCTION_t *) component; } - switch (oval_component_type(component)) { + switch (oval_component_get_type(component)) { case OVAL_COMPONENT_LITERAL:{ struct oval_value *value = - oval_component_literal_value(component); + oval_component_get_literal_value(component); if (value == NULL) printf("%sVALUE <>\n", nxtindent); else @@ -815,9 +815,9 @@ break; case OVAL_COMPONENT_OBJECTREF:{ printf("%sOBJECT_FIELD %s\n", nxtindent, - oval_component_object_field(component)); + oval_component_get_object_field(component)); struct oval_object *object = - oval_component_object(component); + oval_component_get_object(component); if (object == NULL) printf("%sOBJECT <>\n", nxtindent); else @@ -826,7 +826,7 @@ break; case OVAL_COMPONENT_VARREF:{ struct oval_variable *variable = - oval_component_variable(component); + oval_component_get_variable(component); if (variable == NULL) printf("%sVARIABLE <>\n", nxtindent); else @@ -835,41 +835,41 @@ break; case OVAL_FUNCTION_ARITHMETIC:{ printf("%sARITHMETIC_OPERATION %d\n", nxtindent, - oval_component_arithmetic_operation(component)); + oval_component_get_arithmetic_operation(component)); function_comp_to_print(component, nxtindent); } break; case OVAL_FUNCTION_BEGIN:{ printf("%sBEGIN_CHARACTER %s\n", nxtindent, - oval_component_begin_character(component)); + oval_component_get_begin_character(component)); function_comp_to_print(component, nxtindent); } break; case OVAL_FUNCTION_END:{ printf("%sEND_CHARACTER %s\n", nxtindent, - oval_component_end_character(component)); + oval_component_get_end_character(component)); function_comp_to_print(component, nxtindent); } break; case OVAL_FUNCTION_SPLIT:{ printf("%sSPLIT_DELIMITER %s\n", nxtindent, - oval_component_split_delimiter(component)); + oval_component_get_split_delimiter(component)); function_comp_to_print(component, nxtindent); } break; case OVAL_FUNCTION_SUBSTRING:{ printf("%sSUBSTRING_START %d\n", nxtindent, - oval_component_substring_start(component)); + oval_component_get_substring_start(component)); printf("%sSUBSTRING_LENGTH %d\n", nxtindent, - oval_component_substring_length(component)); + oval_component_get_substring_length(component)); function_comp_to_print(component, nxtindent); } break; case OVAL_FUNCTION_TIMEDIF:{ printf("%sTIMEDIF_FORMAT_1 %d\n", nxtindent, - oval_component_timedif_format_1(component)); + oval_component_get_timedif_format_1(component)); printf("%sTIMEDIF_FORMAT_2 %d\n", nxtindent, - oval_component_timedif_format_2(component)); + oval_component_get_timedif_format_2(component)); function_comp_to_print(component, nxtindent); } break; @@ -918,15 +918,15 @@ xmlNode *oval_component_to_dom (struct oval_component *component, xmlDoc *doc, xmlNode *parent) { - oval_component_type_enum type = oval_component_type(component); + oval_component_type_t type = oval_component_get_type(component); const char *local_name = type OVAL_FUNCTION){ - struct oval_iterator_component *components = oval_component_function_components(component); - while(oval_iterator_component_has_more(components)){ - struct oval_component *sub_component = oval_iterator_component_next(components); + struct oval_component_iterator *components = oval_component_get_function_components(component); + while(oval_component_iterator_has_more(components)){ + struct oval_component *sub_component = oval_component_iterator_next(components); oval_component_to_dom(sub_component, doc, component_node); } } diff -u -r a/src/OVAL/oval_criteriaNode.c b/src/OVAL/oval_criteriaNode.c --- a/src/OVAL/oval_criteriaNode.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_criteriaNode.c 2009-09-21 17:12:35 -0400 @@ -35,42 +35,42 @@ #include "oval_agent_api_impl.h" typedef struct oval_criteria_node { - oval_criteria_node_type_enum type; + oval_criteria_node_type_t type; int negate; char *comment; } oval_criteria_node_t; typedef struct oval_criteria_node_CRITERIA { - oval_criteria_node_type_enum type; + oval_criteria_node_type_t type; int negate; char *comment; - oval_operator_enum operator; //type==NODETYPE_CRITERIA + oval_operator_t operator; //type==NODETYPE_CRITERIA struct oval_collection *subnodes; //type==NODETYPE_CRITERIA } oval_criteria_node_CRITERIA_t; typedef struct oval_criteria_node_CRITERION { - oval_criteria_node_type_enum type; + oval_criteria_node_type_t type; int negate; char *comment; struct oval_test *test; //type==NODETYPE_CRITERION } oval_criteria_node_CRITERION_t; typedef struct oval_criteria_node_EXTENDDEF { - oval_criteria_node_type_enum type; + oval_criteria_node_type_t type; int negate; char *comment; struct oval_definition *definition; //type==NODETYPE_EXTENDDEF } oval_criteria_node_EXTENDDEF_t; -int oval_iterator_criteria_node_has_more(struct oval_iterator_criteria_node +int oval_criteria_node_iterator_has_more(struct oval_criteria_node_iterator *oc_criteria_node) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_criteria_node); } -struct oval_criteria_node *oval_iterator_criteria_node_next(struct - oval_iterator_criteria_node +struct oval_criteria_node *oval_criteria_node_iterator_next(struct + oval_criteria_node_iterator *oc_criteria_node) { return (struct oval_criteria_node *) @@ -78,53 +78,53 @@ oc_criteria_node); } -oval_criteria_node_type_enum oval_criteria_node_type(struct oval_criteria_node +oval_criteria_node_type_t oval_criteria_node_get_type(struct oval_criteria_node *node) { return ((struct oval_criteria_node *)node)->type; } -int oval_criteria_node_negate(struct oval_criteria_node *node) +int oval_criteria_node_get_negate(struct oval_criteria_node *node) { return ((struct oval_criteria_node *)node)->negate; } -char *oval_criteria_node_comment(struct oval_criteria_node *node) +char *oval_criteria_node_get_comment(struct oval_criteria_node *node) { return ((struct oval_criteria_node *)node)->comment; } -oval_operator_enum oval_criteria_node_operator(struct oval_criteria_node *node) +oval_operator_t oval_criteria_node_get_operator(struct oval_criteria_node *node) { //type==NODETYPE_CRITERIA return ((struct oval_criteria_node_CRITERIA *)node)->operator; } -struct oval_iterator_criteria_node *oval_criteria_node_subnodes(struct +struct oval_criteria_node_iterator *oval_criteria_node_get_subnodes(struct oval_criteria_node *node) { //type==NODETYPE_CRITERIA struct oval_criteria_node_CRITERIA *criteria = (struct oval_criteria_node_CRITERIA *)node; - return (struct oval_iterator_criteria_node *) + return (struct oval_criteria_node_iterator *) oval_collection_iterator(criteria->subnodes); } -struct oval_test *oval_criteria_node_test(struct oval_criteria_node *node) +struct oval_test *oval_criteria_node_get_test(struct oval_criteria_node *node) { //type==NODETYPE_CRITERION return ((struct oval_criteria_node_CRITERION *)node)->test; } -struct oval_definition *oval_criteria_node_definition(struct oval_criteria_node +struct oval_definition *oval_criteria_node_get_definition(struct oval_criteria_node *node) { //type==NODETYPE_EXTENDDEF return ((struct oval_criteria_node_EXTENDDEF *)node)->definition; } -struct oval_criteria_node *oval_criteria_node_new(oval_criteria_node_type_enum +struct oval_criteria_node *oval_criteria_node_new(oval_criteria_node_type_t type) { struct oval_criteria_node *node; @@ -163,7 +163,7 @@ void oval_criteria_node_free(struct oval_criteria_node *node) { - oval_criteria_node_type_enum type = node->type; + oval_criteria_node_type_t type = node->type; switch (type) { case NODETYPE_CRITERIA:{ struct oval_criteria_node_CRITERIA *criteria = (struct oval_criteria_node_CRITERIA *)node; @@ -189,7 +189,7 @@ } void set_oval_criteria_node_type(struct oval_criteria_node *node, - oval_criteria_node_type_enum type) + oval_criteria_node_type_t type) { node->type = type; } @@ -207,7 +207,7 @@ } void set_oval_criteria_node_operator(struct oval_criteria_node *node, - oval_operator_enum operator) + oval_operator_t operator) { //type==NODETYPE_CRITERIA struct oval_criteria_node_CRITERIA *criteria = @@ -264,7 +264,7 @@ { char *tagname = (char*) xmlTextReaderName(reader); xmlChar *namespace = xmlTextReaderNamespaceUri(reader); - oval_criteria_node_type_enum type = NODETYPE_UNKNOWN; + oval_criteria_node_type_t type = NODETYPE_UNKNOWN; if (strcmp(tagname, "criteria") == 0) type = NODETYPE_CRITERIA; else if (strcmp(tagname, "criterion") == 0) @@ -284,11 +284,11 @@ oval_parser_boolean_attribute (reader, "negate", 0)); return_code = 1; - switch (oval_criteria_node_type(node)) { + switch (oval_criteria_node_get_type(node)) { case NODETYPE_CRITERIA:{ struct oval_criteria_node_CRITERIA *criteria = (struct oval_criteria_node_CRITERIA *)node; - oval_operator_enum operator = + oval_operator_t operator = oval_operator_parse(reader, "operator", OPERATOR_AND); set_oval_criteria_node_operator((struct @@ -328,7 +328,7 @@ (*consumer) (node, user); } else { return_code = 0; - printf("NOTICE::oval_criteria_parse_tag::node type unknown"); + fprintf(stderr, "NOTICE::oval_criteria_parse_tag::node type unknown"); oval_parser_skip_tag(reader, context); } free(tagname); @@ -416,15 +416,15 @@ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *criteria_node = xmlNewChild(parent, ns_definitions, "criteria", NULL); - oval_operator_enum operator = oval_criteria_node_operator(cnode); + oval_operator_t operator = oval_criteria_node_get_operator(cnode); if(operator!=OPERATOR_AND) - xmlNewProp(criteria_node, "operator", oval_operator_text(operator)); + xmlNewProp(criteria_node, "operator", oval_operator_get_text(operator)); - struct oval_iterator_criteria_node *subnodes - = oval_criteria_node_subnodes(cnode); - while(oval_iterator_criteria_node_has_more(subnodes)){ + struct oval_criteria_node_iterator *subnodes + = oval_criteria_node_get_subnodes(cnode); + while(oval_criteria_node_iterator_has_more(subnodes)){ struct oval_criteria_node *subnode - = oval_iterator_criteria_node_next(subnodes); + = oval_criteria_node_iterator_next(subnodes); oval_criteria_node_to_dom(subnode, doc, criteria_node); } @@ -437,8 +437,8 @@ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *criterion_node = xmlNewChild(parent, ns_definitions, "criterion", NULL); - struct oval_test *test = oval_criteria_node_test(cnode); - char *test_ref = oval_test_id(test); + struct oval_test *test = oval_criteria_node_get_test(cnode); + char *test_ref = oval_test_get_id(test); xmlNewProp(criterion_node, "test_ref", test_ref); return criterion_node; @@ -450,8 +450,8 @@ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *extenddef_node = xmlNewChild(parent, ns_definitions, "extend_definition", NULL); - struct oval_definition *definition = oval_criteria_node_definition(cnode); - char *definition_ref = oval_definition_id(definition); + struct oval_definition *definition = oval_criteria_node_get_definition(cnode); + char *definition_ref = oval_definition_get_id(definition); xmlNewProp(extenddef_node, "definition_ref", definition_ref); return extenddef_node; @@ -462,7 +462,7 @@ (struct oval_criteria_node *cnode, xmlDoc *doc, xmlNode *parent) { xmlNode *criteria_node; - switch(oval_criteria_node_type(cnode)) + switch(oval_criteria_node_get_type(cnode)) { case NODETYPE_CRITERIA : criteria_node = _oval_CRITERIA_to_dom (cnode, doc, parent);break; @@ -473,10 +473,10 @@ default: criteria_node = NULL; break; } - bool negate = oval_criteria_node_negate(cnode); + bool negate = oval_criteria_node_get_negate(cnode); if(negate)xmlNewProp(criteria_node, "negate", "true"); - char *comment = oval_criteria_node_comment(cnode); + char *comment = oval_criteria_node_get_comment(cnode); if(comment)xmlNewProp(criteria_node, "comment", comment); return criteria_node; diff -u -r a/src/OVAL/oval_definition.c b/src/OVAL/oval_definition.c --- a/src/OVAL/oval_definition.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_definition.c 2009-09-21 17:12:57 -0400 @@ -39,7 +39,7 @@ typedef struct oval_definition { char *id; int version; - oval_definition_class_enum class; + oval_definition_class_t class; int deprecated; char *title; char *description; @@ -49,59 +49,59 @@ struct oval_criteria_node *criteria; } oval_definition_t; -char *oval_definition_id(struct oval_definition *definition) +char *oval_definition_get_id(struct oval_definition *definition) { return ((struct oval_definition *)definition)->id; } -int oval_definition_version(struct oval_definition *definition) +int oval_definition_get_version(struct oval_definition *definition) { return ((struct oval_definition *)definition)->version; } -oval_definition_class_enum oval_definition_class(struct oval_definition +oval_definition_class_t oval_definition_get_class(struct oval_definition *definition) { return ((struct oval_definition *)definition)->class; } -int oval_definition_deprecated(struct oval_definition *definition) +int oval_definition_get_deprecated(struct oval_definition *definition) { return ((struct oval_definition *)definition)->deprecated; } -char *oval_definition_title(struct oval_definition *definition) +char *oval_definition_get_title(struct oval_definition *definition) { return ((struct oval_definition *)definition)->title; } -char *oval_definition_description(struct oval_definition *definition) +char *oval_definition_get_description(struct oval_definition *definition) { return ((struct oval_definition *)definition)->description; } -struct oval_iterator_affected *oval_definition_affected(struct oval_definition +struct oval_affected_iterator *oval_definition_get_affected(struct oval_definition *definition) { - return (struct oval_iterator_affected *) + return (struct oval_affected_iterator *) oval_collection_iterator(definition->affected); } -struct oval_iterator_reference *oval_definition_references(struct oval_definition +struct oval_reference_iterator *oval_definition_get_references(struct oval_definition *definition) { - return (struct oval_iterator_reference *) + return (struct oval_reference_iterator *) oval_collection_iterator(definition->reference); } -struct oval_iterator_string *oval_definition_notes +struct oval_string_iterator *oval_definition_get_notes (struct oval_definition *definition) { - return (struct oval_iterator_string *) + return (struct oval_string_iterator *) oval_collection_iterator(definition->notes); } -struct oval_criteria_node *oval_definition_criteria(struct oval_definition +struct oval_criteria_node *oval_definition_get_criteria(struct oval_definition *definition) { return ((struct oval_definition *)definition)->criteria; @@ -148,15 +148,15 @@ free(definition); } -int oval_iterator_definition_has_more(struct oval_iterator_definition +int oval_definition_iterator_has_more(struct oval_definition_iterator *oc_definition) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_definition); } -struct oval_definition *oval_iterator_definition_next(struct - oval_iterator_definition +struct oval_definition *oval_definition_iterator_next(struct + oval_definition_iterator *oc_definition) { return (struct oval_definition *) @@ -171,7 +171,7 @@ } void set_oval_definition_class(struct oval_definition *definition, - oval_definition_class_enum class) + oval_definition_class_t class) { definition->class = class; } @@ -228,12 +228,12 @@ { CLASS_UNKNOWN, NULL } }; -oval_definition_class_enum _odaclass(char *class) +oval_definition_class_t _odaclass(char *class) { return oscap_string_to_enum(OVAL_DEFINITION_CLASS_MAP, class); } -const char *oval_definition_class_text(oval_definition_class_enum class) +const char *oval_definition_class_text(oval_definition_class_t class) { return OVAL_DEFINITION_CLASS_MAP[class-1].string; } @@ -317,8 +317,8 @@ &oval_reference_consume, definition); } else { int linno = xmlTextReaderGetParserLineNumber(reader); - printf - ("NOTICE::(oval_definition_parse_metadata)skipping <%s> depth = %d line = %d\n", + fprintf + (stderr, "NOTICE::(oval_definition_parse_metadata)skipping <%s> depth = %d line = %d\n", tagname, xmlTextReaderDepth(reader), linno); return_code = oval_parser_skip_tag(reader, context); } @@ -350,8 +350,8 @@ definition); } else { int linno = xmlTextReaderGetParserLineNumber(reader); - printf - ("NOTICE::(oval_definition)skipping <%s> depth = %d line = %d\n", + fprintf + (stderr, "NOTICE::(oval_definition)skipping <%s> depth = %d line = %d\n", tagname, xmlTextReaderDepth(reader), linno); return_code = oval_parser_skip_tag(reader, context); } @@ -420,68 +420,68 @@ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *definition_node = xmlNewChild(parent, ns_definitions, "definition", NULL); - char *id = oval_definition_id(definition); + char *id = oval_definition_get_id(definition); xmlNewProp(definition_node, "id", id); char version[10]; *version = '\0'; - snprintf(version, sizeof(version), "%d", oval_definition_version(definition)); + snprintf(version, sizeof(version), "%d", oval_definition_get_version(definition)); xmlNewProp(definition_node, "version", version); - oval_definition_class_enum class = oval_definition_class(definition); + oval_definition_class_t class = oval_definition_get_class(definition); xmlNewProp(definition_node, "class", oval_definition_class_text(class)); - bool deprecated = oval_definition_deprecated(definition); + bool deprecated = oval_definition_get_deprecated(definition); if(deprecated)xmlNewProp(definition_node, "deprecated", "true"); xmlNode *metadata_node = xmlNewChild(definition_node, ns_definitions, "metadata", NULL); - char *title = oval_definition_title(definition); + char *title = oval_definition_get_title(definition); xmlNewChild(metadata_node, ns_definitions, "title", title); - struct oval_iterator_affected *affecteds = oval_definition_affected(definition); - while(oval_iterator_affected_has_more(affecteds)){ + struct oval_affected_iterator *affecteds = oval_definition_get_affected(definition); + while(oval_affected_iterator_has_more(affecteds)){ xmlNode *affected_node = xmlNewChild(metadata_node, ns_definitions, "affected", NULL); - struct oval_affected *affected = oval_iterator_affected_next(affecteds); - oval_affected_family_enum family = oval_affected_family(affected); + struct oval_affected *affected = oval_affected_iterator_next(affecteds); + oval_affected_family_t family = oval_affected_get_family(affected); xmlNewProp(affected_node, "family", oval_affected_family_text(family)); - struct oval_iterator_string *platforms = oval_affected_platform(affected); - while(oval_iterator_string_has_more(platforms)){ - char *platform = oval_iterator_string_next(platforms); + struct oval_string_iterator *platforms = oval_affected_get_platform(affected); + while(oval_string_iterator_has_more(platforms)){ + char *platform = oval_string_iterator_next(platforms); xmlNewChild(affected_node, ns_definitions, "platform", platform); } - struct oval_iterator_string *products = oval_affected_product(affected); - while(oval_iterator_string_has_more(products)){ - char *product = oval_iterator_string_next(products); + struct oval_string_iterator *products = oval_affected_get_product(affected); + while(oval_string_iterator_has_more(products)){ + char *product = oval_string_iterator_next(products); xmlNewChild(affected_node, ns_definitions, "product", product); } } - struct oval_iterator_reference *references = oval_definition_references(definition); - while(oval_iterator_reference_has_more(references)){ - struct oval_reference *reference = oval_iterator_reference_next(references); + struct oval_reference_iterator *references = oval_definition_get_references(definition); + while(oval_reference_iterator_has_more(references)){ + struct oval_reference *reference = oval_reference_iterator_next(references); xmlNode *referenceNode = xmlNewChild(metadata_node, ns_definitions, "reference", NULL); - char *source = oval_reference_source(reference); - char *ref_id = oval_reference_id (reference); - char *ref_url = oval_reference_url (reference); + char *source = oval_reference_get_source(reference); + char *ref_id = oval_reference_get_id (reference); + char *ref_url = oval_reference_get_url (reference); xmlNewProp(referenceNode, "source", source); xmlNewProp(referenceNode, "ref_id", ref_id); if(ref_url) xmlNewProp(referenceNode, "ref_url", ref_url); } - char *description = oval_definition_description(definition); + char *description = oval_definition_get_description(definition); xmlNewChild(metadata_node, ns_definitions, "description", description); - struct oval_iterator_string *notes = oval_definition_notes(definition); - if(oval_iterator_string_has_more(notes)){ + struct oval_string_iterator *notes = oval_definition_get_notes(definition); + if(oval_string_iterator_has_more(notes)){ xmlNode *notes_node = xmlNewChild(definition_node, ns_definitions, "notes", NULL); - while(oval_iterator_string_has_more(notes)){ - char *note = oval_iterator_string_next(notes); + while(oval_string_iterator_has_more(notes)){ + char *note = oval_string_iterator_next(notes); xmlNewChild(notes_node, ns_definitions, "note", note); } } - struct oval_criteria_node *criteria = oval_definition_criteria(definition); + struct oval_criteria_node *criteria = oval_definition_get_criteria(definition); if(criteria)oval_criteria_node_to_dom(criteria, doc, definition_node); return definition_node; diff -u -r a/src/OVAL/oval_definitions_impl.h b/src/OVAL/oval_definitions_impl.h --- a/src/OVAL/oval_definitions_impl.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_definitions_impl.h 2009-09-21 17:15:12 -0400 @@ -36,40 +36,40 @@ #include "oval_parser_impl.h" #include "oval_agent_api_impl.h" -oval_family_enum oval_family_parse(xmlTextReaderPtr); -oval_subtype_enum oval_subtype_parse(xmlTextReaderPtr); -oval_affected_family_enum oval_affected_family_parse(xmlTextReaderPtr); -oval_operator_enum oval_operator_parse(xmlTextReaderPtr, char *, - oval_operator_enum); -oval_operation_enum oval_operation_parse(xmlTextReaderPtr, char *, - oval_operation_enum); -oval_definition_class_enum oval_definition_class_parse(xmlTextReaderPtr); -oval_existence_enum oval_existence_parse(xmlTextReaderPtr, char *, - oval_existence_enum); -oval_check_enum oval_check_parse(xmlTextReaderPtr, char *, oval_check_enum); -oval_entity_type_enum oval_entity_type_parse(xmlTextReaderPtr); -oval_datatype_enum oval_datatype_parse(xmlTextReaderPtr, char *, - oval_datatype_enum); -oval_entity_varref_type_enum oval_entity_varref_type_parse(xmlTextReaderPtr); -oval_set_type_enum oval_set_type_parse(xmlTextReaderPtr); -oval_set_operation_enum oval_set_operation_parse(xmlTextReaderPtr, char *, - oval_set_operation_enum); -oval_variable_type_enum oval_variable_type_parse(xmlTextReaderPtr); -oval_component_type_enum oval_component_type_parse(xmlTextReaderPtr); -oval_arithmetic_operation_enum oval_arithmetic_operation_parse(xmlTextReaderPtr, +oval_family_t oval_family_parse(xmlTextReaderPtr); +oval_subtype_t oval_subtype_parse(xmlTextReaderPtr); +oval_affected_family_t oval_affected_family_parse(xmlTextReaderPtr); +oval_operator_t oval_operator_parse(xmlTextReaderPtr, char *, + oval_operator_t); +oval_operation_t oval_operation_parse(xmlTextReaderPtr, char *, + oval_operation_t); +oval_definition_class_t oval_definition_class_parse(xmlTextReaderPtr); +oval_existence_t oval_existence_parse(xmlTextReaderPtr, char *, + oval_existence_t); +oval_check_t oval_check_parse(xmlTextReaderPtr, char *, oval_check_t); +oval_entity_type_t oval_entity_type_parse(xmlTextReaderPtr); +oval_datatype_t oval_datatype_parse(xmlTextReaderPtr, char *, + oval_datatype_t); +oval_entity_varref_type_t oval_entity_varref_type_parse(xmlTextReaderPtr); +oval_set_type_t oval_set_type_parse(xmlTextReaderPtr); +oval_set_operation_t oval_set_operation_parse(xmlTextReaderPtr, char *, + oval_set_operation_t); +oval_variable_type_t oval_variable_type_parse(xmlTextReaderPtr); +oval_component_type_t oval_component_type_parse(xmlTextReaderPtr); +oval_arithmetic_operation_t oval_arithmetic_operation_parse(xmlTextReaderPtr, char *, - oval_arithmetic_operation_enum); -oval_datetime_format_enum oval_datetime_format_parse(xmlTextReaderPtr, char *, - oval_arithmetic_operation_enum); -oval_message_level_enum oval_message_level_parse(xmlTextReaderPtr, char *, - oval_message_level_enum); -const char * oval_message_level_text(oval_message_level_enum); + oval_arithmetic_operation_t); +oval_datetime_format_t oval_datetime_format_parse(xmlTextReaderPtr, char *, + oval_arithmetic_operation_t); +oval_message_level_t oval_message_level_parse(xmlTextReaderPtr, char *, + oval_message_level_t); +const char * oval_message_level_text(oval_message_level_t); struct oval_affected *oval_affected_new(); void oval_affected_free(struct oval_affected *); void set_oval_affected_family(struct oval_affected *, - oval_affected_family_enum); + oval_affected_family_t); void add_oval_affected_platform(struct oval_affected *, char *); void add_oval_affected_product(struct oval_affected *, char *); @@ -82,13 +82,13 @@ struct oval_test *oval_test_new(char *); void oval_test_free(struct oval_test *); -void set_oval_test_family(struct oval_test *, oval_family_enum); -void set_oval_test_subtype(struct oval_test *, oval_subtype_enum); +void set_oval_test_family(struct oval_test *, oval_family_t); +void set_oval_test_subtype(struct oval_test *, oval_subtype_t); void set_oval_test_comment(struct oval_test *, char *); void set_oval_test_deprecated(struct oval_test *, int); void set_oval_test_version(struct oval_test *, int); -void set_oval_test_existence(struct oval_test *, oval_existence_enum); -void set_oval_test_check(struct oval_test *, oval_check_enum); +void set_oval_test_existence(struct oval_test *, oval_existence_t); +void set_oval_test_check(struct oval_test *, oval_check_t); void set_oval_test_object(struct oval_test *, struct oval_object *); void set_oval_test_state(struct oval_test *, struct oval_state *); void add_oval_test_notes(struct oval_test *, char *); @@ -97,14 +97,14 @@ void oval_test_to_print(struct oval_test *test, char *indent, int index); xmlNode *oval_test_to_dom (struct oval_test *, xmlDoc *, xmlNode *); -struct oval_criteria_node *oval_criteria_node_new(oval_criteria_node_type_enum); +struct oval_criteria_node *oval_criteria_node_new(oval_criteria_node_type_t); void oval_criteria_node_free(struct oval_criteria_node *); void set_oval_criteria_node_type(struct oval_criteria_node *, - oval_criteria_node_type_enum); + oval_criteria_node_type_t); void set_oval_criteria_node_negate(struct oval_criteria_node *, int); void set_oval_criteria_node_comment(struct oval_criteria_node *, char *); -void set_oval_criteria_node_operator(struct oval_criteria_node *, oval_operator_enum); //type==NODETYPE_CRITERIA +void set_oval_criteria_node_operator(struct oval_criteria_node *, oval_operator_t); //type==NODETYPE_CRITERIA void add_oval_criteria_node_subnodes(struct oval_criteria_node *, struct oval_criteria_node *); //type==NODETYPE_CRITERIA void set_oval_criteria_node_test(struct oval_criteria_node *, struct oval_test *); //type==NODETYPE_CRITERION void set_oval_criteria_node_definition(struct oval_criteria_node *, struct oval_definition *); //type==NODETYPE_EXTENDDEF @@ -134,7 +134,7 @@ void set_oval_definition_id(struct oval_definition *, char *); void set_oval_definition_version(struct oval_definition *, int); void set_oval_definition_class(struct oval_definition *, - oval_definition_class_enum); + oval_definition_class_t); void set_oval_definition_deprecated(struct oval_definition *, int); void set_oval_definition_title(struct oval_definition *, char *); void set_oval_definition_description(struct oval_definition *, char *); @@ -154,8 +154,8 @@ struct oval_object *oval_object_new(char *id); void oval_object_free(struct oval_object *); -void set_oval_object_family(struct oval_object *, oval_family_enum); -void set_oval_object_subtype(struct oval_object *, oval_subtype_enum); +void set_oval_object_family(struct oval_object *, oval_family_t); +void set_oval_object_subtype(struct oval_object *, oval_subtype_t); void set_oval_object_name(struct oval_object *, char *); void add_oval_object_notes(struct oval_object *, char *); void set_oval_object_comment(struct oval_object *, char *); @@ -172,8 +172,8 @@ struct oval_state *oval_state_new(char *); void oval_state_free(struct oval_state *); -void set_oval_state_family(struct oval_state *, oval_family_enum); -void set_oval_state_subtype(struct oval_state *, oval_subtype_enum); +void set_oval_state_family(struct oval_state *, oval_family_t); +void set_oval_state_subtype(struct oval_state *, oval_subtype_t); void set_oval_state_name(struct oval_state *, char *); void add_oval_state_notes(struct oval_state *, char *); void set_oval_state_comment(struct oval_state *, char *); @@ -185,11 +185,11 @@ void oval_state_to_print(struct oval_state *, char *indent, int index); xmlNode *oval_state_to_dom (struct oval_state *, xmlDoc *, xmlNode *); -struct oval_variable *oval_variable_new(char *, oval_variable_type_enum); +struct oval_variable *oval_variable_new(char *, oval_variable_type_t); void oval_variable_free(struct oval_variable *); -void set_oval_variable_type(struct oval_variable *, oval_variable_type_enum); -void set_oval_variable_datatype(struct oval_variable *, oval_datatype_enum); +void set_oval_variable_type(struct oval_variable *, oval_variable_type_t); +void set_oval_variable_datatype(struct oval_variable *, oval_datatype_t); void add_oval_variable_values(struct oval_variable *, struct oval_value *); //type==OVAL_VARIABLE_CONSTANT void set_oval_variable_component(struct oval_variable *, struct oval_component *); //type==OVAL_VARIABLE_LOCAL int oval_variable_parse_tag(xmlTextReaderPtr reader, @@ -213,16 +213,16 @@ (xmlTextReaderPtr, struct oval_parser_context *, oval_variable_binding_consumer, void *); struct oval_object_content - *oval_object_content_new(oval_object_content_type_enum type); + *oval_object_content_new(oval_object_content_type_t type); void oval_object_content_free(struct oval_object_content *); xmlNode *oval_object_content_to_dom (struct oval_object_content *, xmlDoc *, xmlNode *); -void set_oval_object_content_type(struct oval_object_content *, oval_object_content_type_enum); +void set_oval_object_content_type(struct oval_object_content *, oval_object_content_type_t); void set_oval_object_content_field_name(struct oval_object_content *, char *); void set_oval_object_content_entity(struct oval_object_content *, struct oval_entity *); //type == OVAL_OBJECTCONTENT_ENTITY -void set_oval_object_content_varCheck(struct oval_object_content *, oval_check_enum); //type == OVAL_OBJECTCONTENT_ENTITY +void set_oval_object_content_varCheck(struct oval_object_content *, oval_check_t); //type == OVAL_OBJECTCONTENT_ENTITY void set_oval_object_content_set(struct oval_object_content *, struct oval_set *); //type == OVAL_OBJECTCONTENT_SET typedef void (*oval_object_content_consumer) (struct oval_object_content *, void *); @@ -235,8 +235,8 @@ void oval_state_content_free(struct oval_state_content *); void set_oval_state_content_entity(struct oval_state_content *, struct oval_entity *); -void set_oval_state_content_var_check(struct oval_state_content *, oval_check_enum); -void set_oval_state_content_ent_check(struct oval_state_content *, oval_check_enum); +void set_oval_state_content_var_check(struct oval_state_content *, oval_check_t); +void set_oval_state_content_ent_check(struct oval_state_content *, oval_check_t); int oval_state_content_parse_tag (xmlTextReaderPtr, struct oval_parser_context *, @@ -252,18 +252,18 @@ struct oval_value *, char *attribute_key); typedef void (*oval_behavior_consumer) (struct oval_behavior *, void *); int oval_behavior_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, - oval_family_enum, oval_behavior_consumer, void *); + oval_family_t, oval_behavior_consumer, void *); void oval_behavior_to_print(struct oval_behavior *, char *indent, int index); struct oval_entity *oval_entity_new(); void oval_entity_free(struct oval_entity *); -void set_oval_entity_type(struct oval_entity *, oval_entity_type_enum); -void set_oval_entity_datatype(struct oval_entity *, oval_datatype_enum); -void set_oval_entity_operator(struct oval_entity *, oval_operator_enum); +void set_oval_entity_type(struct oval_entity *, oval_entity_type_t); +void set_oval_entity_datatype(struct oval_entity *, oval_datatype_t); +void set_oval_entity_operator(struct oval_entity *, oval_operator_t); void set_oval_entity_mask(struct oval_entity *, int); void set_oval_entity_varref_type(struct oval_entity *, - oval_entity_varref_type_enum); + oval_entity_varref_type_t); void set_oval_entity_variable(struct oval_entity *, struct oval_variable *); void set_oval_entity_value(struct oval_entity *, struct oval_value *); @@ -276,8 +276,8 @@ struct oval_set *oval_set_new(); void oval_set_free(struct oval_set *); -void set_oval_set_type(struct oval_set *, oval_set_type_enum); -void set_oval_set_operation(struct oval_set *, oval_set_operation_enum); +void set_oval_set_type(struct oval_set *, oval_set_type_t); +void set_oval_set_operation(struct oval_set *, oval_set_operation_t); void add_oval_set_subsets(struct oval_set *, struct oval_set *); //type==OVAL_SET_AGGREGATE; void add_oval_set_objects(struct oval_set *, struct oval_object *); //type==OVAL_SET_COLLECTIVE; void add_oval_set_filters(struct oval_set *, struct oval_state *); //type==OVAL_SET_COLLECTIVE; @@ -291,7 +291,7 @@ struct oval_value *oval_value_new(); void oval_value_free(struct oval_value *); -void set_oval_value_datatype(struct oval_value *, oval_datatype_enum); +void set_oval_value_datatype(struct oval_value *, oval_datatype_t); void set_oval_value_text(struct oval_value *, char *); void set_oval_value_binary(struct oval_value *, unsigned char *); //datatype==OVAL_DATATYPE_BINARY void set_oval_value_boolean(struct oval_value *, int); //datatype==OVAL_DATATYPE_BOOLEAN @@ -304,10 +304,10 @@ void oval_value_to_print(struct oval_value *value, char *indent, int idx); xmlNode *oval_value_to_dom(struct oval_value *, xmlDoc *, xmlNode *); -struct oval_component *oval_component_new(oval_component_type_enum); +struct oval_component *oval_component_new(oval_component_type_t); void oval_component_free(struct oval_component *); -void set_oval_component_type(struct oval_component *, oval_component_type_enum); +void set_oval_component_type(struct oval_component *, oval_component_type_t); void set_oval_component_literal_value(struct oval_component *, struct oval_value *); //type==OVAL_COMPONENT_LITERAL void set_oval_component_object(struct oval_component *, struct oval_object *); //type==OVAL_COMPONENT_OBJECTREF void set_oval_component_object_field(struct oval_component *, char *); //type==OVAL_COMPONENT_OBJECTREF @@ -324,7 +324,7 @@ void oval_message_free(struct oval_message *); void set_oval_message_text(struct oval_message *, char *); -void set_oval_message_level(struct oval_message *, oval_message_level_enum); +void set_oval_message_level(struct oval_message *, oval_message_level_t); typedef void (*oval_message_consumer)(struct oval_message *, void *); int oval_message_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, oscap_consumer_func, void *); @@ -332,12 +332,12 @@ int index); void oval_message_to_dom (struct oval_message *, xmlDoc *, xmlNode *); -const char *oval_check_text(oval_check_enum); -const char *oval_existence_text(oval_existence_enum); -const char *oval_affected_family_text(oval_affected_family_enum); -const char *oval_datatype_text(oval_datatype_enum); -const char *oval_operation_text(oval_operation_enum); -const char *oval_set_operation_text(oval_set_operation_enum); -const char *oval_datetime_format_text(oval_datetime_format_enum); -const char *oval_arithmetic_operation_text(oval_arithmetic_operation_enum); +const char *oval_check_text(oval_check_t); +const char *oval_existence_text(oval_existence_t); +const char *oval_affected_family_text(oval_affected_family_t); +const char *oval_datatype_text(oval_datatype_t); +const char *oval_operation_text(oval_operation_t); +const char *oval_set_operation_text(oval_set_operation_t); +const char *oval_datetime_format_text(oval_datetime_format_t); +const char *oval_arithmetic_operation_text(oval_arithmetic_operation_t); #endif diff -u -r a/src/OVAL/oval_entity.c b/src/OVAL/oval_entity.c --- a/src/OVAL/oval_entity.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_entity.c 2009-09-21 17:14:01 -0400 @@ -35,66 +35,66 @@ #include "oval_agent_api_impl.h" struct oval_entity { - oval_entity_type_enum type; - oval_datatype_enum datatype; - oval_operation_enum operation; + oval_entity_type_t type; + oval_datatype_t datatype; + oval_operation_t operation; int mask; - oval_entity_varref_type_enum varref_type; + oval_entity_varref_type_t varref_type; char *name; struct oval_variable *variable; struct oval_value *value; }; -int oval_iterator_entity_has_more(struct oval_iterator_entity *oc_entity) +int oval_entity_iterator_has_more(struct oval_entity_iterator *oc_entity) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_entity); } -struct oval_entity *oval_iterator_entity_next(struct oval_iterator_entity +struct oval_entity *oval_entity_iterator_next(struct oval_entity_iterator *oc_entity) { return (struct oval_entity *) oval_collection_iterator_next((struct oval_iterator *)oc_entity); } -char *oval_entity_name(struct oval_entity *entity) +char *oval_entity_get_name(struct oval_entity *entity) { return entity->name; } -oval_entity_type_enum oval_entity_type(struct oval_entity * entity) +oval_entity_type_t oval_entity_get_type(struct oval_entity * entity) { return entity->type; } -oval_datatype_enum oval_entity_datatype(struct oval_entity * entity) +oval_datatype_t oval_entity_get_datatype(struct oval_entity * entity) { return entity->datatype; } -oval_operation_enum oval_entity_operation(struct oval_entity * entity) +oval_operation_t oval_entity_get_operation(struct oval_entity * entity) { return entity->operation; } -int oval_entity_mask(struct oval_entity *entity) +int oval_entity_get_mask(struct oval_entity *entity) { return entity->mask; } -oval_entity_varref_type_enum oval_entity_varref_type(struct oval_entity * +oval_entity_varref_type_t oval_entity_get_varref_type(struct oval_entity * entity) { return entity->varref_type; } -struct oval_variable *oval_entity_variable(struct oval_entity *entity) +struct oval_variable *oval_entity_get_variable(struct oval_entity *entity) { return entity->variable; } -struct oval_value *oval_entity_value(struct oval_entity *entity) +struct oval_value *oval_entity_get_value(struct oval_entity *entity) { return entity->value; } @@ -127,19 +127,19 @@ } void set_oval_entity_type(struct oval_entity *entity, - oval_entity_type_enum type) + oval_entity_type_t type) { entity->type = type; } void set_oval_entity_datatype(struct oval_entity *entity, - oval_datatype_enum datatype) + oval_datatype_t datatype) { entity->datatype = datatype; } void set_oval_entity_operation(struct oval_entity *entity, - oval_operation_enum operation) + oval_operation_t operation) { entity->operation = operation; } @@ -150,7 +150,7 @@ } void set_oval_entity_varref_type(struct oval_entity *entity, - oval_entity_varref_type_enum type) + oval_entity_varref_type_t type) { entity->varref_type = type; } @@ -178,7 +178,7 @@ }; void oval_consume_varref(char *varref, void *user) { struct oval_consume_varref_context* ctx = user; - *(ctx->variable) = get_oval_variable((struct oval_object_model *)ctx->model, varref); + *(ctx->variable) = oval_object_model_get_variable((struct oval_object_model *)ctx->model, varref); } void oval_consume_value(struct oval_value *use_value, void *value) { *(struct oval_value **)value = use_value; @@ -191,18 +191,18 @@ { struct oval_entity *entity = oval_entity_new(); int return_code; - oval_datatype_enum datatype = + oval_datatype_t datatype = oval_datatype_parse(reader, "datatype", OVAL_DATATYPE_STRING); - oval_operator_enum operation = + oval_operator_t operation = oval_operation_parse(reader, "operation", OPERATION_EQUALS); int mask = oval_parser_boolean_attribute(reader, "mask", 1); - oval_entity_type_enum type = OVAL_ENTITY_TYPE_UNKNOWN; + oval_entity_type_t type = OVAL_ENTITY_TYPE_UNKNOWN; //The value of the type field vs. the complexity of extracting type is arguable char *varref = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "var_ref"); struct oval_value *value = NULL; struct oval_variable *variable; char *name = (char*) xmlTextReaderLocalName(reader); - oval_entity_varref_type_enum varref_type; + oval_entity_varref_type_t varref_type; if (strcmp(name, "var_ref") == 0) { //special case for if (varref == NULL) { struct oval_object_model *model = @@ -215,7 +215,7 @@ } else { struct oval_object_model *model = oval_parser_context_model(context); - variable = get_oval_variable(model, varref); + variable = oval_object_model_get_variable(model, varref); varref_type = OVAL_ENTITY_VARREF_ATTRIBUTE; return_code = 1; free(varref);varref=NULL; @@ -266,27 +266,27 @@ else snprintf(nxtindent, sizeof(nxtindent), "%sENTITY[%d].", indent, idx); - printf("%sNAME = %s\n", nxtindent, oval_entity_name(entity)); - printf("%sTYPE = %d\n", nxtindent, oval_entity_type(entity)); - if (oval_entity_type(entity) > 10) { + printf("%sNAME = %s\n", nxtindent, oval_entity_get_name(entity)); + printf("%sTYPE = %d\n", nxtindent, oval_entity_get_type(entity)); + if (oval_entity_get_type(entity) > 10) { printf("%s<>", nxtindent); } else { printf("%sDATATYPE = %d\n", nxtindent, - oval_entity_datatype(entity)); + oval_entity_get_datatype(entity)); printf("%sOPERATION = %d\n", nxtindent, - oval_entity_operation(entity)); + oval_entity_get_operation(entity)); printf("%sMASK = %d\n", nxtindent, - oval_entity_mask(entity)); + oval_entity_get_mask(entity)); printf("%sVARREF_TYPE = %d\n", nxtindent, - oval_entity_varref_type(entity)); + oval_entity_get_varref_type(entity)); - struct oval_variable *variable = oval_entity_variable(entity); + struct oval_variable *variable = oval_entity_get_variable(entity); if (variable == NULL) printf("%sVARIABLE = <>\n", nxtindent); else oval_variable_to_print(variable, nxtindent, 0); - struct oval_value *value = oval_entity_value(entity); + struct oval_value *value = oval_entity_get_value(entity); if (value == NULL) printf("%sVALUE = <>\n", nxtindent); else @@ -297,32 +297,32 @@ xmlNode *oval_entity_to_dom (struct oval_entity *entity, xmlDoc *doc, xmlNode *parent) { - char *tagname = oval_entity_name(entity); + char *tagname = oval_entity_get_name(entity); xmlNs *ns_family = *xmlGetNsList(doc, parent); - struct oval_variable *variable = oval_entity_variable(entity); - oval_entity_varref_type_enum vtype = oval_entity_varref_type(entity); - struct oval_value *value = oval_entity_value (entity); + struct oval_variable *variable = oval_entity_get_variable(entity); + oval_entity_varref_type_t vtype = oval_entity_get_varref_type(entity); + struct oval_value *value = oval_entity_get_value (entity); char *content = NULL; if(variable && vtype==OVAL_ENTITY_VARREF_ELEMENT){ - content = oval_variable_id(variable); + content = oval_variable_get_id(variable); }else if(value){ - content = oval_value_text(value); + content = oval_value_get_text(value); } xmlNode *entity_node = xmlNewChild(parent, ns_family, tagname, content); - oval_datatype_enum datatype = oval_entity_datatype(entity); + oval_datatype_t datatype = oval_entity_get_datatype(entity); if(datatype!=OVAL_DATATYPE_STRING) xmlNewProp(entity_node, "datatype", oval_datatype_text(datatype)); - oval_operation_enum operation = oval_entity_operation(entity); + oval_operation_t operation = oval_entity_get_operation(entity); if(operation!=OPERATION_EQUALS) xmlNewProp(entity_node, "operation", oval_operation_text(operation)); - bool mask = oval_entity_mask(entity); + bool mask = oval_entity_get_mask(entity); if(mask) xmlNewProp(entity_node, "mask", "true"); if(vtype==OVAL_ENTITY_VARREF_ATTRIBUTE) - xmlNewProp(entity_node, "var_ref", oval_variable_id(variable)); + xmlNewProp(entity_node, "var_ref", oval_variable_get_id(variable)); return entity_node; } diff -u -r a/src/OVAL/oval_enumerations.c b/src/OVAL/oval_enumerations.c --- a/src/OVAL/oval_enumerations.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_enumerations.c 2009-09-21 17:15:12 -0400 @@ -54,15 +54,20 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_syschar_collection_flag_enum oval_syschar_flag_parse(xmlTextReaderPtr +oval_syschar_collection_flag_t oval_syschar_flag_parse(xmlTextReaderPtr reader, char *attname, - oval_syschar_collection_flag_enum + oval_syschar_collection_flag_t defval) { return oval_enumeration_attr(reader, attname, OVAL_SYSCHAR_FLAG_MAP, defval); } +const char *oval_syschar_collection_flag_text(oval_syschar_collection_flag_t flag) +{ + return (flag)?OVAL_SYSCHAR_FLAG_MAP[flag-1].string:"**INVALID**"; +} + const struct oscap_string_map OVAL_SYSCHAR_STATUS_MAP[] = { { SYSCHAR_STATUS_ERROR, "error" }, { SYSCHAR_STATUS_DOES_NOT_EXIST, "does not exist" }, @@ -71,15 +76,15 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_syschar_status_enum oval_syschar_status_parse(xmlTextReaderPtr +oval_syschar_status_t oval_syschar_status_parse(xmlTextReaderPtr reader, char *attname, - oval_syschar_status_enum defval) + oval_syschar_status_t defval) { return oval_enumeration_attr(reader, attname, OVAL_SYSCHAR_STATUS_MAP, defval); } -const char * oval_syschar_status_text(oval_syschar_status_enum idx){ +const char * oval_syschar_status_text(oval_syschar_status_t idx){ return oscap_enum_to_string(OVAL_SYSCHAR_STATUS_MAP, idx); } @@ -92,14 +97,14 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_message_level_enum oval_message_level_parse( +oval_message_level_t oval_message_level_parse( xmlTextReaderPtr reader, char *attname, - oval_message_level_enum defval) + oval_message_level_t defval) { return oval_enumeration_attr(reader, attname, OVAL_MESSAGE_LEVEL_MAP, defval); } -const char * oval_message_level_text(oval_message_level_enum level){ +const char * oval_message_level_text(oval_message_level_t level){ return oscap_enum_to_string(OVAL_MESSAGE_LEVEL_MAP, level); } @@ -111,15 +116,15 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_arithmetic_operation_enum oval_arithmetic_operation_parse(xmlTextReaderPtr +oval_arithmetic_operation_t oval_arithmetic_operation_parse(xmlTextReaderPtr reader, char *attname, - oval_arithmetic_operation_enum + oval_arithmetic_operation_t defval) { return oval_enumeration_attr(reader, attname, OVAL_ARITHMETIC_OPERATION_MAP, defval); } -const char *oval_arithmetic_operation_text(oval_arithmetic_operation_enum operation) +const char *oval_arithmetic_operation_text(oval_arithmetic_operation_t operation) { return OVAL_ARITHMETIC_OPERATION_MAP[operation-1].string; } @@ -133,14 +138,14 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_datetime_format_enum oval_datetime_format_parse(xmlTextReaderPtr reader, +oval_datetime_format_t oval_datetime_format_parse(xmlTextReaderPtr reader, char *attname, - oval_arithmetic_operation_enum + oval_arithmetic_operation_t defval) { return oval_enumeration_attr(reader, attname, OVAL_DATETIME_FORMAT_MAP, defval); } -const char *oval_datetime_format_text(oval_datetime_format_enum format) +const char *oval_datetime_format_text(oval_datetime_format_t format) { return OVAL_DATETIME_FORMAT_MAP[format-1].string; } @@ -152,13 +157,13 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_set_operation_enum oval_set_operation_parse(xmlTextReaderPtr reader, +oval_set_operation_t oval_set_operation_parse(xmlTextReaderPtr reader, char *attname, - oval_set_operation_enum defval) + oval_set_operation_t defval) { return oval_enumeration_attr(reader, attname, OVAL_SET_OPERATION_MAP, defval); } -const char *oval_set_operation_text(oval_set_operation_enum operation) +const char *oval_set_operation_text(oval_set_operation_t operation) { return OVAL_SET_OPERATION_MAP[operation-1].string; } @@ -178,12 +183,12 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_operation_enum oval_operation_parse(xmlTextReaderPtr reader, char *attname, - oval_operation_enum defval) +oval_operation_t oval_operation_parse(xmlTextReaderPtr reader, char *attname, + oval_operation_t defval) { return oval_enumeration_attr(reader, attname, OVAL_OPERATION_MAP, defval); }; -const char *oval_operation_text(oval_operation_enum operation) +const char *oval_operation_text(oval_operation_t operation) { return OVAL_OPERATION_MAP[operation-1].string; } @@ -197,12 +202,12 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_check_enum oval_check_parse(xmlTextReaderPtr reader, char *attname, - oval_check_enum defval) +oval_check_t oval_check_parse(xmlTextReaderPtr reader, char *attname, + oval_check_t defval) { return oval_enumeration_attr(reader, attname, OVAL_CHECK_MAP, defval); } -const char * oval_check_text(oval_check_enum check) +const char * oval_check_text(oval_check_t check) { return OVAL_CHECK_MAP[check-1].string; } @@ -221,12 +226,12 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_datatype_enum oval_datatype_parse(xmlTextReaderPtr reader, char *attname, - oval_datatype_enum defval) +oval_datatype_t oval_datatype_parse(xmlTextReaderPtr reader, char *attname, + oval_datatype_t defval) { return oval_enumeration_attr(reader, attname, OVAL_DATATYPE_MAP, defval); } -const char *oval_datatype_text(oval_datatype_enum datatype) +const char *oval_datatype_text(oval_datatype_t datatype) { return OVAL_DATATYPE_MAP[datatype-1].string; } @@ -240,12 +245,12 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_existence_enum oval_existence_parse(xmlTextReaderPtr reader, char *attname, - oval_existence_enum defval) +oval_existence_t oval_existence_parse(xmlTextReaderPtr reader, char *attname, + oval_existence_t defval) { return oval_enumeration_attr(reader, attname, OVAL_EXISTENCE_MAP, defval); } -const char * oval_existence_text(oval_existence_enum existence) +const char * oval_existence_text(oval_existence_t existence) { return OVAL_EXISTENCE_MAP[existence-1].string; } @@ -258,13 +263,13 @@ { -1, NULL } }; -oval_operator_enum oval_operator_parse(xmlTextReaderPtr reader, char *attname, - oval_operator_enum defval) +oval_operator_t oval_operator_parse(xmlTextReaderPtr reader, char *attname, + oval_operator_t defval) { return oval_enumeration_attr(reader, attname, OVAL_OPERATOR_MAP, defval); } -const char* oval_operator_text(oval_operator_enum operator) +const char* oval_operator_get_text(oval_operator_t operator) { return OVAL_OPERATOR_MAP[operator-1].string; } @@ -287,7 +292,7 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_family_enum oval_family_parse(xmlTextReaderPtr reader) +oval_family_t oval_family_parse(xmlTextReaderPtr reader) { char *namespace = (char*) xmlTextReaderNamespaceUri(reader); char *family_text = strrchr(namespace, '#'); @@ -300,7 +305,7 @@ return (ret != OVAL_ENUMERATION_INVALID ? ret : FAMILY_UNKNOWN); } -const char *oval_family_text(oval_family_enum family) +const char *oval_family_get_text(oval_family_t family) { int family_idx = family/1000; return OVAL_FAMILY_MAP[family_idx-1].string; @@ -323,8 +328,8 @@ const struct oscap_string_map OVAL_SUBTYPE_CATOS_MAP[] = { { CATOS_LINE, "line" }, { CATOS_MODULE, "module" }, - { CATOS_VERSION, "version" }, { CATOS_VERSION_55, "version55" }, + { CATOS_VERSION, "version" }, { OVAL_SUBTYPE_UNKNOWN, NULL } }; @@ -341,23 +346,23 @@ const struct oscap_string_map OVAL_SUBTYPE_HPUX_MAP[] = { { HPUX_GETCONF, "getconf" }, - { HPUX_PATCH, "patch" }, { HPUX_PATCH_53, "patch53" }, + { HPUX_PATCH, "patch" }, { HPUX_SOFTWARE_LIST, "softwarelist" }, { HPUX_TRUSTED_ACCOUNTS, "trustedaccounts" }, { OVAL_SUBTYPE_UNKNOWN, NULL } }; const struct oscap_string_map OVAL_SUBTYPE_INDEPENDENT_MAP[] = { - { INDEPENDENT_ENVIRONMENT_VARIABLE, "environmentvariable" }, { INDEPENDENT_FAMILY, "family" }, - { INDEPENDENT_FILE_HASH, "filehash" }, { INDEPENDENT_FILE_MD5, "filemd5" }, + { INDEPENDENT_FILE_HASH, "filehash" }, + { INDEPENDENT_ENVIRONMENT_VARIABLE, "environmentvariable" }, { INDEPENDENT_SQL, "sql" }, { INDEPENDENT_TEXT_FILE_CONTENT_54, "textfilecontent54" }, { INDEPENDENT_TEXT_FILE_CONTENT, "textfilecontent" }, - { INDEPENDENT_VARIABLE, "variable" }, { INDEPENDENT_UNKNOWN, "unknown" }, + { INDEPENDENT_VARIABLE, "variable" }, { INDEPENDENT_XML_FILE_CONTENT, "xmlfilecontent" }, { OVAL_SUBTYPE_UNKNOWN, NULL } }; @@ -454,13 +459,13 @@ }; -oval_subtype_enum oval_subtype_parse(xmlTextReaderPtr reader) +oval_subtype_t oval_subtype_parse(xmlTextReaderPtr reader) { - oval_family_enum family = oval_family_parse(reader); + oval_family_t family = oval_family_parse(reader); if (family == FAMILY_UNKNOWN) return OVAL_SUBTYPE_UNKNOWN; - oval_subtype_enum subtype = OVAL_SUBTYPE_UNKNOWN; + oval_subtype_t subtype = OVAL_SUBTYPE_UNKNOWN; char *tagname = (char*) xmlTextReaderLocalName(reader); char *endptr = strrchr(tagname, '_'); if (endptr == NULL) @@ -493,11 +498,15 @@ return subtype; } -const char *oval_subtype_text(oval_subtype_enum subtype) +oval_family_t oval_subtype_get_family(oval_subtype_t subtype) +{ + return (subtype/1000)*1000; +} + +const char *oval_subtype_get_text(oval_subtype_t subtype) { - oval_family_enum family = (subtype/1000)*1000; const struct oscap_string_map *map = NULL; - switch (family) { + switch (oval_subtype_get_family(subtype)) { case FAMILY_AIX: map = OVAL_SUBTYPE_AIX_MAP; break; case FAMILY_APACHE: map = OVAL_SUBTYPE_APACHE_MAP; break; case FAMILY_CATOS: map = OVAL_SUBTYPE_CATOS_MAP; break; @@ -520,6 +529,32 @@ return map[subidx-1].string; } +void _test_oval_subtype_mapping(const struct oscap_string_map *map) +{ + printf("\n"); + int i;for(i=0;map[i].string;i++){ + printf("[%05d] %s\n", map[i].value, map[i].string); + } +} + +void _test_oval_subtypes_mapping() +{ + _test_oval_subtype_mapping(OVAL_SUBTYPE_AIX_MAP );// 1000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_APACHE_MAP );// 2000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_CATOS_MAP );// 3000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_ESX_MAP );// 4000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_FREEBSD_MAP );// 5000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_HPUX_MAP );// 6000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_INDEPENDENT_MAP);// 7000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_IOS_MAP );// 8000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_LINUX_MAP );// 9000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_MACOS_MAP );//10000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_PIXOS_MAP );//11000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_SOLARIS_MAP );//12000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_UNIX_MAP );//13000 + _test_oval_subtype_mapping(OVAL_SUBTYPE_WINDOWS_MAP );//14000 +} + const struct oscap_string_map OVAL_RESULT_MAP[] = { { OVAL_RESULT_TRUE, "true" }, { OVAL_RESULT_FALSE, "false" }, @@ -530,14 +565,14 @@ { OVAL_ENUMERATION_INVALID, NULL } }; -oval_result_enum oval_result_parse(xmlTextReaderPtr reader, char *attname, - oval_existence_enum defval) +oval_result_t oval_result_parse(xmlTextReaderPtr reader, char *attname, + oval_existence_t defval) { return oval_enumeration_attr(reader, attname, OVAL_RESULT_MAP, defval); } -const char* oval_result_text(oval_result_enum result) +const char* oval_result_text(oval_result_t result) { return (result)?OVAL_RESULT_MAP[result-1].string:"**INVALID**"; } -const char *oval_datetime_format_text(oval_datetime_format_enum); +const char *oval_datetime_format_text(oval_datetime_format_t); diff -u -r a/src/OVAL/oval_errno.h b/src/OVAL/oval_errno.h --- a/src/OVAL/oval_errno.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_errno.h 2009-09-18 14:58:00 -0400 @@ -8,6 +8,10 @@ #ifndef OVAL_ERRNO_H_ #define OVAL_ERRNO_H_ extern int oval_errno; -#define OVAL_INVALID_ARGUMENT 1 +#define OVAL_INVALID_ARGUMENT 1 +#define OVAL_INTERNAL_ERROR 2 +#define OVAL_UNSUPPORTED_DATATYPE 3 +#define OVAL_INVALID_COMPARISON 4 +#define OVAL_NO_RESULT_CALCULATED 5 #endif /* OVAL_ERRNO_H_ */ diff -u -r a/src/OVAL/oval_message.c b/src/OVAL/oval_message.c --- a/src/OVAL/oval_message.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_message.c 2009-09-21 17:15:12 -0400 @@ -38,7 +38,7 @@ typedef struct oval_message { char* text; - oval_message_level_enum level; + oval_message_level_t level; } oval_message_t; struct oval_message *oval_message_new(){ @@ -55,28 +55,28 @@ free(message); } -int oval_iterator_message_has_more(struct oval_iterator_message *oc_message) +int oval_message_iterator_has_more(struct oval_message_iterator *oc_message) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_message); } -struct oval_message *oval_iterator_message_next(struct oval_iterator_message +struct oval_message *oval_message_iterator_next(struct oval_message_iterator *oc_message) { return (struct oval_message *) oval_collection_iterator_next((struct oval_iterator *)oc_message); } -char *oval_message_text(struct oval_message *message){return message->text;} -oval_message_level_enum oval_message_level(struct oval_message *message){return message->level;} +char *oval_message_get_text(struct oval_message *message){return message->text;} +oval_message_level_t oval_message_get_level(struct oval_message *message){return message->level;} void set_oval_message_text(struct oval_message *message, char *text) { if(message->text!=NULL)free(message->text); message->text = (text==NULL)?NULL:strdup(text); } -void set_oval_message_level(struct oval_message *message, oval_message_level_enum level) +void set_oval_message_level(struct oval_message *message, oval_message_level_t level) { message->level = level; } @@ -104,8 +104,8 @@ int numchars = 0; char debug[2000];debug[numchars]='\0'; numchars = numchars + sprintf(debug+numchars,"oval_message_parse_tag::"); - numchars = numchars + sprintf(debug+numchars,"\n message->level = %d",oval_message_level (message)); - numchars = numchars + sprintf(debug+numchars,"\n message->text = %s",oval_message_text (message)); + numchars = numchars + sprintf(debug+numchars,"\n message->level = %d",oval_message_get_level (message)); + numchars = numchars + sprintf(debug+numchars,"\n message->text = %s",oval_message_get_text (message)); oval_parser_log_debug(context, debug); } (*consumer)(message, client); @@ -130,16 +130,16 @@ char* text; oval_message_level_enum level; */ - printf("%sLEVEL = %d\n", nxtindent, oval_message_level(message)); - printf("%sTEXT = %s\n", nxtindent, oval_message_text (message)); + printf("%sLEVEL = %d\n", nxtindent, oval_message_get_level(message)); + printf("%sTEXT = %s\n", nxtindent, oval_message_get_text (message)); } void oval_message_to_dom (struct oval_message *message, xmlDoc *doc, xmlNode *tag_parent){ if(message){ xmlNs *ns_syschar = xmlSearchNsByHref(doc, tag_parent, OVAL_SYSCHAR_NAMESPACE); xmlNode *tag_message = xmlNewChild - (tag_parent, ns_syschar, BAD_CAST "message", oval_message_text(message)); - xmlNewProp(tag_message, BAD_CAST "level", BAD_CAST oval_message_level_text(oval_message_level(message))); + (tag_parent, ns_syschar, BAD_CAST "message", oval_message_get_text(message)); + xmlNewProp(tag_message, BAD_CAST "level", BAD_CAST oval_message_level_text(oval_message_get_level(message))); } } diff -u -r a/src/OVAL/oval_object.c b/src/OVAL/oval_object.c --- a/src/OVAL/oval_object.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_object.c 2009-09-21 17:09:54 -0400 @@ -35,7 +35,7 @@ #include "oval_agent_api_impl.h" typedef struct oval_object { - oval_subtype_enum subtype; + oval_subtype_t subtype; struct oval_collection *notes; char *comment; char *id; @@ -45,66 +45,66 @@ struct oval_collection *behaviors; } oval_object_t; -int oval_iterator_object_has_more(struct oval_iterator_object *oc_object) +int oval_object_iterator_has_more(struct oval_object_iterator *oc_object) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_object); } -struct oval_object *oval_iterator_object_next(struct oval_iterator_object +struct oval_object *oval_object_iterator_next(struct oval_object_iterator *oc_object) { return (struct oval_object *) oval_collection_iterator_next((struct oval_iterator *)oc_object); } -oval_family_enum oval_object_family(struct oval_object *object) +oval_family_t oval_object_get_family(struct oval_object *object) { return ((object->subtype) / 1000) * 1000; } -oval_subtype_enum oval_object_subtype(struct oval_object * object) +oval_subtype_t oval_object_get_subtype(struct oval_object * object) { return ((struct oval_object *)object)->subtype; } -struct oval_iterator_string *oval_object_notes(struct oval_object *object) +struct oval_string_iterator *oval_object_get_notes(struct oval_object *object) { - return (struct oval_iterator_string *)oval_collection_iterator(object-> + return (struct oval_string_iterator *)oval_collection_iterator(object-> notes); } -char *oval_object_comment(struct oval_object *object) +char *oval_object_get_comment(struct oval_object *object) { return ((struct oval_object *)object)->comment; } -char *oval_object_id(struct oval_object *object) +char *oval_object_get_id(struct oval_object *object) { return ((struct oval_object *)object)->id; } -int oval_object_deprecated(struct oval_object *object) +int oval_object_get_deprecated(struct oval_object *object) { return ((struct oval_object *)object)->deprecated; } -int oval_object_version(struct oval_object *object) +int oval_object_get_version(struct oval_object *object) { return ((struct oval_object *)object)->version; } -struct oval_iterator_object_content *oval_object_object_content(struct +struct oval_object_content_iterator *oval_object_get_object_content(struct oval_object *object) { - return (struct oval_iterator_object_content *) + return (struct oval_object_content_iterator *) oval_collection_iterator(object->object_content); } -struct oval_iterator_behavior *oval_object_behaviors(struct oval_object *object) +struct oval_behavior_iterator *oval_object_get_behaviors(struct oval_object *object) { - return (struct oval_iterator_behavior *) + return (struct oval_behavior_iterator *) oval_collection_iterator(object->behaviors); } @@ -141,7 +141,7 @@ } void set_oval_object_subtype(struct oval_object *object, - oval_subtype_enum subtype) + oval_subtype_t subtype) { object->subtype = subtype; } @@ -211,7 +211,7 @@ } else if (strcmp(tagname, "behaviors") == 0) { return_code = oval_behavior_parse_tag(reader, context, - oval_object_family(object), + oval_object_get_family(object), &oval_behavior_consume, object); } else { return_code = @@ -229,15 +229,18 @@ return return_code; } +#define DEBUG_OVAL_OBJECT 0 +#define STUB_OVAL_OBJECT 0 + int oval_object_parse_tag(xmlTextReaderPtr reader, struct oval_parser_context *context) { struct oval_object_model *model = oval_parser_context_model(context); - //printf("DEBUG::oval_object_parse_tag::id = %s\n", id); char *id = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "id"); + if(DEBUG_OVAL_OBJECT)printf("DEBUG::oval_object_parse_tag::id = %s\n", id); struct oval_object *object = get_oval_object_new(model, id); free(id);id=NULL; - oval_subtype_enum subtype = oval_subtype_parse(reader); + oval_subtype_t subtype = oval_subtype_parse(reader); set_oval_object_subtype(object, subtype); char *comm = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "comment"); if(comm!=NULL){ @@ -250,8 +253,9 @@ set_oval_object_version(object, atoi(version)); free(version); - int return_code = - oval_parser_parse_tag(reader, context, &_oval_object_parse_tag, + int return_code = (STUB_OVAL_OBJECT) + ?oval_parser_skip_tag(reader, context) + :oval_parser_parse_tag(reader, context, &_oval_object_parse_tag, object); return return_code; } @@ -268,31 +272,31 @@ else snprintf(nxtindent, sizeof(nxtindent), "%sOBJECT[%d].", indent, idx); - printf("%sID = %s\n", nxtindent, oval_object_id(object)); - printf("%sFAMILY = %d\n", nxtindent, oval_object_family(object)); - printf("%sSUBTYPE = %d\n", nxtindent, oval_object_subtype(object)); - printf("%sVERSION = %d\n", nxtindent, oval_object_version(object)); - printf("%sCOMMENT = %s\n", nxtindent, oval_object_comment(object)); + printf("%sID = %s\n", nxtindent, oval_object_get_id(object)); + printf("%sFAMILY = %d\n", nxtindent, oval_object_get_family(object)); + printf("%sSUBTYPE = %d\n", nxtindent, oval_object_get_subtype(object)); + printf("%sVERSION = %d\n", nxtindent, oval_object_get_version(object)); + printf("%sCOMMENT = %s\n", nxtindent, oval_object_get_comment(object)); printf("%sDEPRECATED = %d\n", nxtindent, - oval_object_deprecated(object)); - struct oval_iterator_string *notes = oval_object_notes(object); - for (idx = 1; oval_iterator_string_has_more(notes); idx++) { + oval_object_get_deprecated(object)); + struct oval_string_iterator *notes = oval_object_get_notes(object); + for (idx = 1; oval_string_iterator_has_more(notes); idx++) { printf("%sNOTE[%d] = %s\n", nxtindent, idx, - oval_iterator_string_next(notes)); + oval_string_iterator_next(notes)); } - struct oval_iterator_behavior *behaviors = - oval_object_behaviors(object); - for (idx = 1; oval_iterator_behavior_has_more(behaviors); idx++) { + struct oval_behavior_iterator *behaviors = + oval_object_get_behaviors(object); + for (idx = 1; oval_behavior_iterator_has_more(behaviors); idx++) { struct oval_behavior *behavior = - oval_iterator_behavior_next(behaviors); + oval_behavior_iterator_next(behaviors); oval_behavior_to_print(behavior, nxtindent, idx); } - struct oval_iterator_object_content *contents = - oval_object_object_content(object); - for (idx = 1; oval_iterator_object_content_has_more(contents); + struct oval_object_content_iterator *contents = + oval_object_get_object_content(object); + for (idx = 1; oval_object_content_iterator_has_more(contents); idx++) { struct oval_object_content *content = - oval_iterator_object_content_next(contents); + oval_object_content_iterator_next(contents); oval_object_content_to_print(content, nxtindent, idx); } } @@ -300,14 +304,14 @@ xmlNode *oval_object_to_dom (struct oval_object *object, xmlDoc *doc, xmlNode *parent) { - oval_subtype_enum subtype = oval_object_subtype(object); - const char *subtype_text = oval_subtype_text(subtype); + oval_subtype_t subtype = oval_object_get_subtype(object); + const char *subtype_text = oval_subtype_get_text(subtype); char object_name[strlen(subtype_text)+8]; *object_name = '\0'; strcat(strcat(object_name, subtype_text), "_object"); xmlNode *object_node = xmlNewChild(parent, NULL, object_name, NULL); - oval_family_enum family = oval_object_family(object); - const char *family_text = oval_family_text(family); + oval_family_t family = oval_object_get_family(object); + const char *family_text = oval_family_get_text(family); char family_uri[strlen(OVAL_DEFINITIONS_NAMESPACE)+strlen(family_text)+2]; *family_uri = '\0'; strcat(strcat(strcat(family_uri, OVAL_DEFINITIONS_NAMESPACE),"#"),family_text); @@ -315,44 +319,44 @@ xmlSetNs(object_node, ns_family); - char *id = oval_object_id(object); + char *id = oval_object_get_id(object); xmlNewProp(object_node, "id", id); char version[10]; *version = '\0'; - snprintf(version, sizeof(version), "%d", oval_object_version(object)); + snprintf(version, sizeof(version), "%d", oval_object_get_version(object)); xmlNewProp(object_node, "version", version); - char *comment = oval_object_comment(object); + char *comment = oval_object_get_comment(object); if(comment)xmlNewProp(object_node, "comment", comment); - bool deprecated = oval_object_deprecated(object); + bool deprecated = oval_object_get_deprecated(object); if(deprecated) xmlNewProp(object_node, "deprecated", "true"); - struct oval_iterator_string *notes = oval_object_notes(object); - if(oval_iterator_string_has_more(notes)){ + struct oval_string_iterator *notes = oval_object_get_notes(object); + if(oval_string_iterator_has_more(notes)){ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *notes_node = xmlNewChild(object_node, ns_definitions, "notes", NULL); - while(oval_iterator_string_has_more(notes)){ - char *note = oval_iterator_string_next(notes); + while(oval_string_iterator_has_more(notes)){ + char *note = oval_string_iterator_next(notes); xmlNewChild(notes_node, ns_definitions, "note", note); } } - struct oval_iterator_behavior *behaviors = oval_object_behaviors(object); - if(oval_iterator_behavior_has_more(behaviors)){ + struct oval_behavior_iterator *behaviors = oval_object_get_behaviors(object); + if(oval_behavior_iterator_has_more(behaviors)){ xmlNode *behaviors_node = xmlNewChild(object_node, ns_family, "behaviors", NULL); - while(oval_iterator_behavior_has_more(behaviors)){ - struct oval_behavior *behavior = oval_iterator_behavior_next(behaviors); - char *key = oval_behavior_key (behavior); - char *value = oval_behavior_value(behavior); + while(oval_behavior_iterator_has_more(behaviors)){ + struct oval_behavior *behavior = oval_behavior_iterator_next(behaviors); + char *key = oval_behavior_get_key (behavior); + char *value = oval_behavior_get_value(behavior); xmlNewProp(behaviors_node, key, value); } } - struct oval_iterator_object_content *contents = oval_object_object_content(object); - int index;for(index=0;oval_iterator_object_content_has_more(contents); index++){ - struct oval_object_content *content = oval_iterator_object_content_next(contents); + struct oval_object_content_iterator *contents = oval_object_get_object_content(object); + int index;for(index=0;oval_object_content_iterator_has_more(contents); index++){ + struct oval_object_content *content = oval_object_content_iterator_next(contents); oval_object_content_to_dom(content, doc, object_node); } diff -u -r a/src/OVAL/oval_objectContent.c b/src/OVAL/oval_objectContent.c --- a/src/OVAL/oval_objectContent.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_objectContent.c 2009-09-21 17:22:22 -0400 @@ -36,31 +36,31 @@ typedef struct oval_object_content { char *fieldName; - oval_object_content_type_enum type; + oval_object_content_type_t type; } oval_object_content_t; typedef struct oval_object_content_ENTITY { char *fieldName; - oval_object_content_type_enum type; + oval_object_content_type_t type; struct oval_entity *entity; //type == OVAL_OBJECTCONTENT_ENTITY - oval_check_enum varCheck; //type == OVAL_OBJECTCONTENT_ENTITY + oval_check_t varCheck; //type == OVAL_OBJECTCONTENT_ENTITY } oval_object_content_ENTITY_t; typedef struct oval_object_content_SET { char *fieldName; - oval_object_content_type_enum type; + oval_object_content_type_t type; struct oval_set *set; //type == OVAL_OBJECTCONTENT_SET } oval_object_content_SET_t; -int oval_iterator_object_content_has_more(struct oval_iterator_object_content +int oval_object_content_iterator_has_more(struct oval_object_content_iterator *oc_object_content) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_object_content); } -struct oval_object_content *oval_iterator_object_content_next(struct - oval_iterator_object_content +struct oval_object_content *oval_object_content_iterator_next(struct + oval_object_content_iterator *oc_object_content) { return (struct oval_object_content *) @@ -68,53 +68,53 @@ oc_object_content); } -char *oval_object_content_field_name(struct oval_object_content *content) +char *oval_object_content_get_field_name(struct oval_object_content *content) { return ((struct oval_object_content *)content)->fieldName; } -oval_object_content_type_enum oval_object_content_type(struct +oval_object_content_type_t oval_object_content_get_type(struct oval_object_content *content) { return ((struct oval_object_content *)content)->type; } -struct oval_entity *oval_object_content_entity(struct oval_object_content +struct oval_entity *oval_object_content_get_entity(struct oval_object_content *content) { //type == OVAL_OBJECTCONTENT_ENTITY struct oval_entity *entity = NULL; - if (oval_object_content_type(content) == OVAL_OBJECTCONTENT_ENTITY) { + if (oval_object_content_get_type(content) == OVAL_OBJECTCONTENT_ENTITY) { entity = ((struct oval_object_content_ENTITY *)content)->entity; } return entity; } -oval_check_enum oval_object_content_varCheck(struct oval_object_content * +oval_check_t oval_object_content_get_varCheck(struct oval_object_content * content) { //type == OVAL_OBJECTCONTENT_ENTITY - oval_check_enum varCheck = OVAL_CHECK_UNKNOWN; - if (oval_object_content_type(content) == OVAL_OBJECTCONTENT_ENTITY) { + oval_check_t varCheck = OVAL_CHECK_UNKNOWN; + if (oval_object_content_get_type(content) == OVAL_OBJECTCONTENT_ENTITY) { varCheck = ((struct oval_object_content_ENTITY *)content)->varCheck; } return varCheck; } -struct oval_set *oval_object_content_set(struct oval_object_content *content) +struct oval_set *oval_object_content_get_setobject(struct oval_object_content *content) { //type == OVAL_OBJECTCONTENT_SET struct oval_set *set = NULL; - if (oval_object_content_type(content) == OVAL_OBJECTCONTENT_SET) { + if (oval_object_content_get_type(content) == OVAL_OBJECTCONTENT_SET) { set = ((struct oval_object_content_SET *)content)->set; } return set; } struct oval_object_content - *oval_object_content_new(oval_object_content_type_enum type) + *oval_object_content_new(oval_object_content_type_t type) { struct oval_object_content *content = NULL; switch (type) { @@ -169,7 +169,7 @@ } free(content); } -void set_oval_object_content_type(struct oval_object_content *content, oval_object_content_type_enum type) +void set_oval_object_content_type(struct oval_object_content *content, oval_object_content_type_t type) { content->type = type; } @@ -185,7 +185,7 @@ content_ENTITY->entity = entity; } } -void set_oval_object_content_varCheck(struct oval_object_content *content, oval_check_enum check)//type == OVAL_OBJECTCONTENT_ENTITY +void set_oval_object_content_varCheck(struct oval_object_content *content, oval_check_t check)//type == OVAL_OBJECTCONTENT_ENTITY { if(content->type == OVAL_OBJECTCONTENT_ENTITY){ oval_object_content_ENTITY_t *content_ENTITY = (oval_object_content_ENTITY_t *)content; @@ -216,7 +216,7 @@ char *tagname = (char*) xmlTextReaderName(reader); xmlChar *namespace = xmlTextReaderNamespaceUri(reader); - oval_object_content_type_enum type = + oval_object_content_type_t type = (strcmp(tagname, "set") == 0) ? OVAL_OBJECTCONTENT_SET : OVAL_OBJECTCONTENT_ENTITY; struct oval_object_content *content = oval_object_content_new(type); @@ -269,15 +269,15 @@ snprintf(nxtindent, sizeof(nxtindent), "%sCONTENT[%d].", indent, idx); printf("%sFIELD = %s\n", nxtindent, - oval_object_content_field_name(content)); + oval_object_content_get_field_name(content)); printf("%sTYPE = %d\n", nxtindent, - oval_object_content_type(content)); - switch (oval_object_content_type(content)) { + oval_object_content_get_type(content)); + switch (oval_object_content_get_type(content)) { case OVAL_OBJECTCONTENT_ENTITY:{ printf("%sVAR_CHECK = %d\n", nxtindent, - oval_object_content_varCheck(content)); + oval_object_content_get_varCheck(content)); struct oval_entity *entity = - oval_object_content_entity(content); + oval_object_content_get_entity(content); if (entity == NULL) printf("%sENTITY <>\n", nxtindent); else @@ -285,7 +285,7 @@ } break; case OVAL_OBJECTCONTENT_SET:{ - struct oval_set *set = oval_object_content_set(content); + struct oval_set *set = oval_object_content_get_setobject(content); oval_set_to_print(set, nxtindent, 0); } break; case OVAL_OBJECTCONTENT_UNKNOWN: break; @@ -296,17 +296,17 @@ (struct oval_object_content *content, xmlDoc *doc, xmlNode *parent) { xmlNode *content_node; - switch(oval_object_content_type(content)) + switch(oval_object_content_get_type(content)) { case OVAL_OBJECTCONTENT_ENTITY:{ - struct oval_entity *entity = oval_object_content_entity(content); + struct oval_entity *entity = oval_object_content_get_entity(content); content_node = oval_entity_to_dom(entity, doc, parent); - oval_check_enum check = oval_object_content_varCheck(content); + oval_check_t check = oval_object_content_get_varCheck(content); if(check!=OVAL_CHECK_ALL) xmlNewProp(content_node, "var_check", oval_check_text(check)); }break; case OVAL_OBJECTCONTENT_SET:{ - struct oval_set *set = oval_object_content_set(content); + struct oval_set *set = oval_object_content_get_setobject(content); content_node = oval_set_to_dom(set, doc, parent); }break; default: content_node = NULL; diff -u -r a/src/OVAL/oval_parser.c b/src/OVAL/oval_parser.c --- a/src/OVAL/oval_parser.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_parser.c 2009-09-21 17:18:46 -0400 @@ -44,7 +44,7 @@ return (*(context->error_handler))(error,context->user_data); } -int oval_parser_log (struct oval_parser_context *, oval_xml_severity_enum severity, char*); +int oval_parser_log (struct oval_parser_context *, oval_xml_severity_t severity, char*); int oval_parser_log_info(struct oval_parser_context *context, char* message){ return oval_parser_log(context, OVAL_LOG_INFO, message); @@ -60,7 +60,7 @@ int oval_parser_log (struct oval_parser_context *context, - oval_xml_severity_enum severity, char* message){ + oval_xml_severity_t severity, char* message){ xmlTextReader *reader = context->reader; char msgfield[strlen(message) + 1]; *msgfield = 0; @@ -134,6 +134,7 @@ } #define DEBUG_OVAL_PARSER 0 +#define STUB_OVAL_PARSER 0 int ovaldef_parse_node(xmlTextReaderPtr reader, struct oval_parser_context *context) @@ -172,30 +173,35 @@ } int is_oval = strcmp(namespace, oval_namespace)==0; if (is_oval && (strcmp(tagname, tagname_definitions) == 0)) { - return_code = - _oval_parser_process_tags(reader, + return_code = (STUB_OVAL_PARSER) + ?oval_parser_skip_tag(reader, context) + :_oval_parser_process_tags(reader, context, &oval_definition_parse_tag); } else if (is_oval && strcmp(tagname, tagname_tests) == 0) { - return_code = - _oval_parser_process_tags(reader, + return_code = (STUB_OVAL_PARSER) + ?oval_parser_skip_tag(reader, context) + :_oval_parser_process_tags(reader, context, &oval_test_parse_tag); } else if (is_oval && strcmp(tagname, tagname_objects) == 0) { - return_code = - _oval_parser_process_tags(reader, + return_code = (STUB_OVAL_PARSER) + ?oval_parser_skip_tag(reader, context) + :_oval_parser_process_tags(reader, context, &oval_object_parse_tag); } else if (is_oval && strcmp(tagname, tagname_states) == 0) { - return_code = - _oval_parser_process_tags(reader, + return_code = (STUB_OVAL_PARSER) + ?oval_parser_skip_tag(reader, context) + :_oval_parser_process_tags(reader, context, &oval_state_parse_tag); } else if (is_oval && strcmp(tagname, tagname_variables) == 0) { - return_code = - _oval_parser_process_tags(reader, + return_code = (STUB_OVAL_PARSER) + ?oval_parser_skip_tag(reader, context) + :_oval_parser_process_tags(reader, context, &oval_variable_parse_tag); } else if (is_oval && strcmp(tagname, tagname_generator) == diff -u -r a/src/OVAL/oval_probe.c b/src/OVAL/oval_probe.c --- a/src/OVAL/oval_probe.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_probe.c 2009-09-21 17:22:22 -0400 @@ -97,12 +97,12 @@ #undef K2 } -const oval_probe_t *search_probe (oval_subtype_enum subtype) +const oval_probe_t *search_probe (oval_subtype_t subtype) { return (oscap_bfind ((void *)__probe_tbl, PROBETBLSIZE, sizeof __probe_tbl[0], &subtype, probe_subtype_cmp)); } -static int probe_sd_get (probe_sdtbl_t *tbl, oval_subtype_enum subtype) +static int probe_sd_get (probe_sdtbl_t *tbl, oval_subtype_t subtype) { probe_sd_t *psd; @@ -120,7 +120,7 @@ return (((probe_sd_t *)a)->typenum - ((probe_sd_t *)b)->typenum); } -static int probe_sd_add (probe_sdtbl_t *tbl, oval_subtype_enum type, int sd) +static int probe_sd_add (probe_sdtbl_t *tbl, oval_subtype_t type, int sd) { _A(tbl != NULL); _A(sd >= 0); @@ -134,7 +134,7 @@ return (0); } -static int probe_sd_del (probe_sdtbl_t *tbl, oval_subtype_enum type) +static int probe_sd_del (probe_sdtbl_t *tbl, oval_subtype_t type) { _A(tbl != NULL); /* TODO */ @@ -148,24 +148,24 @@ elm_name = SEXP_list_new (); SEXP_list_add (elm_name, - SEXP_string_newf (oval_entity_name (ent))); + SEXP_string_newf (oval_entity_get_name (ent))); /* operation */ SEXP_list_add (elm_name, SEXP_string_new (":operation", 10)); SEXP_list_add (elm_name, - SEXP_number_newu (oval_entity_operation (ent))); + SEXP_number_newu (oval_entity_get_operation (ent))); /* var_ref */ - if (oval_entity_varref_type (ent) == OVAL_ENTITY_VARREF_ATTRIBUTE) { + if (oval_entity_get_varref_type (ent) == OVAL_ENTITY_VARREF_ATTRIBUTE) { struct oval_variable *var; - var = oval_entity_variable (ent); + var = oval_entity_get_variable (ent); SEXP_list_add (elm_name, SEXP_string_new (":var_ref", 8)); SEXP_list_add (elm_name, - SEXP_string_newf (oval_variable_id (var))); + SEXP_string_newf (oval_variable_get_id (var))); elm = SEXP_list_new (); SEXP_list_add (elm, elm_name); @@ -174,27 +174,27 @@ SEXP_t *val_sexp; struct oval_value *val; - val = oval_entity_value (ent); + val = oval_entity_get_value (ent); elm = SEXP_list_new (); SEXP_list_add (elm, elm_name); /* CHECK: check in val? */ - switch (oval_entity_datatype (ent)) { + switch (oval_entity_get_datatype (ent)) { case OVAL_DATATYPE_VERSION: - val_sexp = SEXP_string_newf (oval_value_text (val)); + val_sexp = SEXP_string_newf (oval_value_get_text (val)); SEXP_datatype_set (val_sexp, "version"); goto add_string_val; case OVAL_DATATYPE_EVR_STRING: - val_sexp = SEXP_string_newf (oval_value_text (val)); + val_sexp = SEXP_string_newf (oval_value_get_text (val)); SEXP_datatype_set (val_sexp, "evr_str"); goto add_string_val; case OVAL_DATATYPE_STRING: - val_sexp = SEXP_string_newf (oval_value_text (val)); + val_sexp = SEXP_string_newf (oval_value_get_text (val)); add_string_val: SEXP_list_add (elm, val_sexp); @@ -202,15 +202,15 @@ case OVAL_DATATYPE_FLOAT: SEXP_list_add (elm, - SEXP_number_newf (oval_value_float (val))); + SEXP_number_newf (oval_value_get_float (val))); break; case OVAL_DATATYPE_INTEGER: SEXP_list_add (elm, - SEXP_number_newd (oval_value_integer (val))); + SEXP_number_newd (oval_value_get_integer (val))); break; case OVAL_DATATYPE_BOOLEAN: - val_sexp = SEXP_number_newhhu (oval_value_boolean (val)); + val_sexp = SEXP_number_newhhu (oval_value_get_boolean (val)); SEXP_datatype_set (val_sexp, "bool"); SEXP_list_add (elm, val_sexp); @@ -237,53 +237,53 @@ SEXP_list_add (elm_name, SEXP_string_new (":operation", 10)); SEXP_list_add (elm_name, - SEXP_number_newu (oval_set_operation (set))); + SEXP_number_newu (oval_set_get_operation (set))); elm = SEXP_list_new (); SEXP_list_add (elm, elm_name); - switch (oval_set_type (set)) { + switch (oval_set_get_type (set)) { case OVAL_SET_AGGREGATE: { - struct oval_iterator_set *sit; + struct oval_set_iterator *sit; struct oval_set *subset; - sit = oval_set_subsets (set); + sit = oval_set_get_subsets (set); - while (oval_iterator_set_has_more (sit)) { - subset = oval_iterator_set_next (sit); + while (oval_set_iterator_has_more (sit)) { + subset = oval_set_iterator_next (sit); SEXP_list_add (elm, oval_set_to_sexp (subset)); } } break; case OVAL_SET_COLLECTIVE: { - struct oval_iterator_object *oit; - struct oval_iterator_state *sit; + struct oval_object_iterator *oit; + struct oval_state_iterator *sit; struct oval_object *obj; struct oval_state *ste; SEXP_t *subelm; - oit = oval_set_objects (set); - sit = oval_set_filters (set); + oit = oval_set_get_objects (set); + sit = oval_set_get_filters (set); - while (oval_iterator_object_has_more (oit)) { - obj = oval_iterator_object_next (oit); + while (oval_object_iterator_has_more (oit)) { + obj = oval_object_iterator_next (oit); subelm = SEXP_list_new (); SEXP_list_add (subelm, SEXP_string_new ("obj_ref", 7)); SEXP_list_add (subelm, - SEXP_string_newf (oval_object_id (obj))); + SEXP_string_newf (oval_object_get_id (obj))); SEXP_list_add (elm, subelm); } - while (oval_iterator_state_has_more (sit)) { - ste = oval_iterator_state_next (sit); + while (oval_state_iterator_has_more (sit)) { + ste = oval_state_iterator_next (sit); subelm = SEXP_list_new (); SEXP_list_add (subelm, SEXP_string_new ("filter", 6)); SEXP_list_add (subelm, - SEXP_string_newf (oval_state_id (ste))); + SEXP_string_newf (oval_state_get_id (ste))); SEXP_list_add (elm, subelm); } } @@ -295,7 +295,7 @@ return (elm); } -static SEXP_t *oval_behaviors_to_sexp (struct oval_iterator_behavior *bit) +static SEXP_t *oval_behaviors_to_sexp (struct oval_behavior_iterator *bit) { char *attr_name, *attr_val; SEXP_t *elm, *elm_name; @@ -306,10 +306,10 @@ SEXP_list_add (elm_name, SEXP_string_newf ("behaviors")); - while (oval_iterator_behavior_has_more (bit)) { - behavior = oval_iterator_behavior_next (bit); - attr_name = oval_behavior_key(behavior); - attr_val = oval_behavior_value(behavior); + while (oval_behavior_iterator_has_more (bit)) { + behavior = oval_behavior_iterator_next (bit); + attr_name = oval_behavior_get_key(behavior); + attr_val = oval_behavior_get_value(behavior); SEXP_list_add(elm_name, SEXP_string_newf(":%s", attr_name)); if (attr_val != NULL) { @@ -327,8 +327,8 @@ { SEXP_t *obj_sexp, *obj_name, *elm; - struct oval_iterator_object_content *cit; - struct oval_iterator_behavior *bit; + struct oval_object_content_iterator *cit; + struct oval_behavior_iterator *bit; struct oval_object_content *content; struct oval_entity *entity; @@ -345,7 +345,7 @@ SEXP_list_add (obj_name, SEXP_string_new (":id", 3)); SEXP_list_add (obj_name, - SEXP_string_newf (oval_object_id (object))); + SEXP_string_newf (oval_object_get_id (object))); SEXP_list_add (obj_sexp, obj_name); @@ -353,19 +353,19 @@ * Object content */ - cit = oval_object_object_content (object); - while (oval_iterator_object_content_has_more (cit)) { - content = oval_iterator_object_content_next (cit); + cit = oval_object_get_object_content (object); + while (oval_object_content_iterator_has_more (cit)) { + content = oval_object_content_iterator_next (cit); elm = NULL; - switch (oval_object_content_type (content)) { + switch (oval_object_content_get_type (content)) { case OVAL_OBJECTCONTENT_ENTITY: - elm = oval_entity_to_sexp (oval_object_content_entity (content)); + elm = oval_entity_to_sexp (oval_object_content_get_entity (content)); break; case OVAL_OBJECTCONTENT_SET: - elm = oval_set_to_sexp (oval_object_content_set (content)); + elm = oval_set_to_sexp (oval_object_content_get_setobject (content)); break; case OVAL_OBJECTCONTENT_UNKNOWN: break; @@ -383,8 +383,8 @@ * Object behaviors */ - bit = oval_object_behaviors (object); - if (oval_iterator_behavior_has_more (bit)) { + bit = oval_object_get_behaviors (object); + if (oval_behavior_iterator_has_more (bit)) { elm = oval_behaviors_to_sexp (bit); SEXP_list_add (obj_sexp, elm); } @@ -398,12 +398,12 @@ char buffer[128]; const oval_probe_t *probe; //struct oval_iterator_entity *entities; - struct oval_iterator_state_content *contents; + struct oval_state_content_iterator *contents; - probe = search_probe (oval_state_subtype (state)); + probe = search_probe (oval_state_get_subtype (state)); if (probe == NULL) { - _D("FAIL: unknown subtype: %d\n", oval_state_subtype (state)); + _D("FAIL: unknown subtype: %d\n", oval_state_get_subtype (state)); return (NULL); } @@ -414,13 +414,13 @@ SEXP_list_add (ste_name, SEXP_string_newf (buffer)); SEXP_list_add (ste_name, SEXP_string_newf (":id")); - SEXP_list_add (ste_name, SEXP_string_newf (oval_state_id (state))); + SEXP_list_add (ste_name, SEXP_string_newf (oval_state_get_id (state))); SEXP_list_add (ste, ste_name); //entities = oval_state_entities (state); - contents = oval_state_contents(state); + contents = oval_state_get_contents(state); /* while (oval_iterator_entity_has_more (entities)) { @@ -428,10 +428,10 @@ SEXP_list_add (ste, ste_ent); } */ - while(oval_iterator_state_content_has_more(contents)){ - struct oval_state_content *content = oval_iterator_state_content_next(contents); + while(oval_state_content_iterator_has_more(contents)){ + struct oval_state_content *content = oval_state_content_iterator_next(contents); //Note that content includes entity and variable check constraints - ste_ent = oval_entity_to_sexp (oval_state_content_entity(content)); + ste_ent = oval_entity_to_sexp (oval_state_content_get_entity(content)); SEXP_list_add (ste, ste_ent); } @@ -583,12 +583,12 @@ SEXP_t *s; struct oval_sysdata* sysdata; - if (oval_syschar_object(syschar) == NULL) + if (oval_syschar_get_object(syschar) == NULL) set_oval_syschar_object(syschar, object); else if (object == NULL) - object = oval_syschar_object(syschar); + object = oval_syschar_get_object(syschar); - _A(object == oval_syschar_object(syschar)); + _A(object == oval_syschar_get_object(syschar)); SEXP_list_foreach (s, sexp) { sysdata = oval_sysdata_from_sexp(s); @@ -634,7 +634,7 @@ _D("search_probe\n"); - probe = search_probe (oval_object_subtype(object)); + probe = search_probe (oval_object_get_subtype(object)); if (probe == NULL) { errno = EOPNOTSUPP; return (NULL); @@ -650,7 +650,7 @@ return (NULL); } - psd = probe_sd_get (ptbl, oval_object_subtype (object)); + psd = probe_sd_get (ptbl, oval_object_get_subtype (object)); if (psd == -1) { char *uri, *dir; size_t len; @@ -691,7 +691,7 @@ _D("conn ok\n"); free (uri); - probe_sd_add (ptbl, oval_object_subtype (object), psd); + probe_sd_add (ptbl, oval_object_get_subtype (object), psd); } msg = SEAP_msg_new (); @@ -736,7 +736,7 @@ if (SEXP_stringp (sexp)) { id_str = SEXP_string_cstr (sexp); - obj = get_oval_object (model, id_str); + obj = oval_object_model_get_object (model, id_str); if (obj == NULL) { _D("FAIL: can't find obj: id=%s\n", id_str); @@ -771,7 +771,7 @@ SEXP_list_foreach (id, sexp) { if (SEXP_stringp (id)) { id_str = SEXP_string_cstr (id); - ste = get_oval_state (model, id_str); + ste = oval_object_model_get_state (model, id_str); if (ste == NULL) { _D("FAIL: can't find ste: id=%s\n", id_str); diff -u -r a/src/OVAL/oval_probe.h b/src/OVAL/oval_probe.h --- a/src/OVAL/oval_probe.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_probe.h 2009-09-21 17:09:54 -0400 @@ -15,13 +15,13 @@ #endif typedef struct { - oval_subtype_enum typenum; + oval_subtype_t typenum; char *typestr; char *filename; } oval_probe_t; typedef struct { - oval_subtype_enum typenum; + oval_subtype_t typenum; int sd; } probe_sd_t; diff -u -r a/src/OVAL/oval_reference.c b/src/OVAL/oval_reference.c --- a/src/OVAL/oval_reference.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_reference.c 2009-09-21 15:10:39 -0400 @@ -39,32 +39,32 @@ char *url; } oval_reference_t; -int oval_iterator_reference_has_more(struct oval_iterator_reference +int oval_reference_iterator_has_more(struct oval_reference_iterator *oc_reference) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_reference); } -struct oval_reference *oval_iterator_reference_next(struct - oval_iterator_reference +struct oval_reference *oval_reference_iterator_next(struct + oval_reference_iterator *oc_reference) { return (struct oval_reference *) oval_collection_iterator_next((struct oval_iterator *)oc_reference); } -char *oval_reference_source(struct oval_reference *ref) +char *oval_reference_get_source(struct oval_reference *ref) { return ((struct oval_reference *)ref)->source; } -char *oval_reference_id(struct oval_reference *ref) +char *oval_reference_get_id(struct oval_reference *ref) { return ((struct oval_reference *)ref)->id; } -char *oval_reference_url(struct oval_reference *ref) +char *oval_reference_get_url(struct oval_reference *ref) { return ((struct oval_reference *)ref)->url; } diff -u -r a/src/OVAL/oval_resultCriteriaNode.c b/src/OVAL/oval_resultCriteriaNode.c --- a/src/OVAL/oval_resultCriteriaNode.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_resultCriteriaNode.c 2009-09-21 17:12:35 -0400 @@ -37,30 +37,30 @@ #define DEBUG_RESULT_CRITERIA_NODE 0 typedef struct oval_result_criteria_node { - oval_criteria_node_type_enum type; - oval_result_enum result; + oval_criteria_node_type_t type; + oval_result_t result; int negate; } oval_result_criteria_node_t; typedef struct oval_result_criteria_node_CRITERIA { - oval_criteria_node_type_enum type; - oval_result_enum result; + oval_criteria_node_type_t type; + oval_result_t result; int negate; - oval_operator_enum operator; + oval_operator_t operator; struct oval_collection *subnodes; } oval_result_criteria_node_CRITERIA_t; typedef struct oval_result_criteria_node_CRITERION { - oval_criteria_node_type_enum type; - oval_result_enum result; + oval_criteria_node_type_t type; + oval_result_t result; int negate; int variable_instance; struct oval_result_test *test; } oval_result_criteria_node_CRITERION_t; typedef struct oval_result_criteria_node_EXTENDDEF { - oval_criteria_node_type_enum type; - oval_result_enum result; + oval_criteria_node_type_t type; + oval_result_t result; int negate; int variable_instance; struct oval_result_definition *extends; @@ -78,7 +78,7 @@ struct oval_result_criteria_node *oval_result_criteria_node_new - (oval_criteria_node_type_enum type, int negate, ...) + (oval_criteria_node_type_t type, int negate, ...) { oval_result_criteria_node_t *node = NULL; va_list ap; @@ -90,7 +90,7 @@ malloc(sizeof(oval_result_criteria_node_CRITERIA_t)); oval_result_criteria_node_CRITERIA_t *criteria = (oval_result_criteria_node_CRITERIA_t *)node; - criteria->operator = (oval_operator_enum)va_arg(ap, int); + criteria->operator = (oval_operator_t)va_arg(ap, int); criteria->subnodes = oval_collection_new(); };break; case NODETYPE_CRITERION:{ @@ -152,20 +152,20 @@ { struct oval_result_criteria_node *rslt_node = NULL; if(oval_node){ - oval_criteria_node_type_enum type = oval_criteria_node_type(oval_node); - bool negate = oval_criteria_node_negate(oval_node); + oval_criteria_node_type_t type = oval_criteria_node_get_type(oval_node); + bool negate = oval_criteria_node_get_negate(oval_node); switch(type) { case NODETYPE_CRITERIA:{ - oval_operator_enum operator - = oval_criteria_node_operator(oval_node); + oval_operator_t operator + = oval_criteria_node_get_operator(oval_node); rslt_node = oval_result_criteria_node_new(type, negate, operator); - struct oval_iterator_criteria_node *oval_subnodes - = oval_criteria_node_subnodes(oval_node); - while(oval_iterator_criteria_node_has_more(oval_subnodes)){ + struct oval_criteria_node_iterator *oval_subnodes + = oval_criteria_node_get_subnodes(oval_node); + while(oval_criteria_node_iterator_has_more(oval_subnodes)){ struct oval_criteria_node *oval_subnode - = oval_iterator_criteria_node_next(oval_subnodes); + = oval_criteria_node_iterator_next(oval_subnodes); struct oval_result_criteria_node *rslt_subnode = make_result_criteria_node_from_oval_criteria_node (system, oval_subnode); @@ -174,7 +174,7 @@ }break; case NODETYPE_CRITERION:{ struct oval_test *oval_test - = oval_criteria_node_test(oval_node); + = oval_criteria_node_get_test(oval_node); struct oval_result_test *rslt_test = get_oval_result_test_new(system, oval_test); rslt_node @@ -182,7 +182,7 @@ }break; case NODETYPE_EXTENDDEF:{ struct oval_definition *oval_definition - = oval_criteria_node_definition(oval_node); + = oval_criteria_node_get_definition(oval_node); struct oval_result_definition *rslt_definition = get_oval_result_definition_new(system, oval_definition); rslt_node @@ -194,16 +194,16 @@ return rslt_node; } -int oval_iterator_result_criteria_node_has_more(struct - oval_iterator_result_criteria_node +int oval_result_criteria_node_iterator_has_more(struct + oval_result_criteria_node_iterator *oc_result_criteria_node) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_result_criteria_node); } -struct oval_result_criteria_node *oval_iterator_result_criteria_node_next(struct - oval_iterator_result_criteria_node +struct oval_result_criteria_node *oval_result_criteria_node_iterator_next(struct + oval_result_criteria_node_iterator *oc_result_criteria_node) { return (struct oval_result_criteria_node *) @@ -211,14 +211,14 @@ oc_result_criteria_node); } -oval_criteria_node_type_enum oval_result_criteria_node_type(struct +oval_criteria_node_type_t oval_result_criteria_node_get_type(struct oval_result_criteria_node *node) { return ((struct oval_result_criteria_node *)node)->type; } -oval_result_enum _oval_result_negate(bool negate, oval_result_enum result) +oval_result_t _oval_result_negate(bool negate, oval_result_t result) { return (negate && result==OVAL_RESULT_TRUE )?OVAL_RESULT_FALSE: (negate && result==OVAL_RESULT_FALSE)?OVAL_RESULT_TRUE:result; @@ -232,10 +232,10 @@ #define _CNE (counts[5]) #define _CNA (counts[6]) -oval_result_enum _oval_result_binary_op - (oval_operator_enum operator, int *counts) +oval_result_t _oval_result_binary_op + (oval_operator_t operator, int *counts) { - oval_result_enum result = OVAL_RESULT_INVALID; + oval_result_t result = OVAL_RESULT_INVALID; if(INVALID==0){ switch(operator) { @@ -286,42 +286,43 @@ return result; } -oval_result_enum _oval_result_criteria_node_result +oval_result_t _oval_result_criteria_node_result (struct oval_result_criteria_node *node) { - oval_result_enum result = OVAL_RESULT_INVALID; + oval_result_t result = OVAL_RESULT_INVALID; switch(node->type) { case NODETYPE_CRITERIA:{ - struct oval_iterator_result_criteria_node *subnodes - = oval_result_criteria_node_subnodes(node); - oval_operator_enum operator - = oval_result_criteria_node_operator(node); + struct oval_result_criteria_node_iterator *subnodes + = oval_result_criteria_node_get_subnodes(node); + oval_operator_t operator + = oval_result_criteria_node_get_operator(node); int counts[] = {0,0,0,0,0,0,0};//result counts - while(oval_iterator_result_criteria_node_has_more(subnodes)){ + while(oval_result_criteria_node_iterator_has_more(subnodes)){ struct oval_result_criteria_node *subnode - = oval_iterator_result_criteria_node_next(subnodes); - oval_result_enum subres = oval_result_criteria_node_result(subnode); + = oval_result_criteria_node_iterator_next(subnodes); + oval_result_t subres = oval_result_criteria_node_get_result(subnode); counts[subres]++; } result = _oval_result_binary_op(operator, counts); - }break; case NODETYPE_CRITERION:{ struct oval_result_test *test - = oval_result_criteria_node_test(node); - result = oval_result_test_result(test); + = oval_result_criteria_node_get_test(node); + result = oval_result_test_get_result(test); }break; case NODETYPE_EXTENDDEF:{ struct oval_result_definition *extends - = oval_result_criteria_node_extends(node); - result = oval_result_definition_result(extends); + = oval_result_criteria_node_get_extends(node); + result = oval_result_definition_get_result(extends); }break; default: break; } - return _oval_result_negate(node->negate,result); + result = (result==OVAL_RESULT_INVALID)?OVAL_RESULT_UNKNOWN:_oval_result_negate(node->negate,result); + return result; } -oval_result_enum oval_result_criteria_node_result + +oval_result_t oval_result_criteria_node_get_result (struct oval_result_criteria_node *node) { if(node->result==OVAL_RESULT_INVALID){ @@ -330,58 +331,58 @@ return node->result; } -bool oval_result_criteria_node_negate +bool oval_result_criteria_node_get_negate (struct oval_result_criteria_node *node) { return node->negate; } -oval_operator_enum oval_result_criteria_node_operator(struct +oval_operator_t oval_result_criteria_node_get_operator(struct oval_result_criteria_node *node) { //type==NODETYPE_CRITERIA - oval_operator_enum operator = OPERATOR_UNKNOWN; - if (oval_result_criteria_node_type(node) == NODETYPE_CRITERIA) { + oval_operator_t operator = OPERATOR_UNKNOWN; + if (oval_result_criteria_node_get_type(node) == NODETYPE_CRITERIA) { operator =((struct oval_result_criteria_node_CRITERIA *)node)-> operator; } return operator; } -struct oval_iterator_result_criteria_node *oval_result_criteria_node_subnodes(struct +struct oval_result_criteria_node_iterator *oval_result_criteria_node_get_subnodes(struct oval_result_criteria_node *node) { //type==NODETYPE_CRITERIA - struct oval_iterator_result_criteria_node *subnodes = NULL; - if (oval_result_criteria_node_type(node) == NODETYPE_CRITERIA) { + struct oval_result_criteria_node_iterator *subnodes = NULL; + if (oval_result_criteria_node_get_type(node) == NODETYPE_CRITERIA) { struct oval_result_criteria_node_CRITERIA *criteria = (struct oval_result_criteria_node_CRITERIA *)node; - subnodes = (struct oval_iterator_result_criteria_node *) + subnodes = (struct oval_result_criteria_node_iterator *) oval_collection_iterator(criteria->subnodes); } return subnodes; } -struct oval_result_test *oval_result_criteria_node_test +struct oval_result_test *oval_result_criteria_node_get_test (struct oval_result_criteria_node *node) { //type==NODETYPE_CRITERION struct oval_result_test *test = NULL; - if (oval_result_criteria_node_type(node) == NODETYPE_CRITERION) { + if (oval_result_criteria_node_get_type(node) == NODETYPE_CRITERION) { test = ((struct oval_result_criteria_node_CRITERION *)node)->test; } return test; } -struct oval_result_definition *oval_result_criteria_node_extends +struct oval_result_definition *oval_result_criteria_node_get_extends (struct oval_result_criteria_node *node) { //type==NODETYPE_EXTENDDEF struct oval_result_definition *extends = NULL; - if (oval_result_criteria_node_type(node) == NODETYPE_EXTENDDEF) { + if (oval_result_criteria_node_get_type(node) == NODETYPE_EXTENDDEF) { extends = ((struct oval_result_criteria_node_EXTENDDEF *)node)->extends; } @@ -389,7 +390,7 @@ } void set_oval_result_criteria_node_result - (struct oval_result_criteria_node *node, oval_result_enum result) + (struct oval_result_criteria_node *node, oval_result_t result) { node->result = result; } @@ -401,10 +402,10 @@ } void set_oval_result_criteria_node_operator - (struct oval_result_criteria_node *node, oval_operator_enum operator) + (struct oval_result_criteria_node *node, oval_operator_t operator) { //type==NODETYPE_CRITERIA - if (oval_result_criteria_node_type(node) == NODETYPE_CRITERIA) { + if (oval_result_criteria_node_get_type(node) == NODETYPE_CRITERIA) { ((struct oval_result_criteria_node_CRITERIA *)node)-> operator = operator; } @@ -414,7 +415,7 @@ (struct oval_result_criteria_node *node, struct oval_result_criteria_node *subnode ) { //type==NODETYPE_CRITERIA - if (oval_result_criteria_node_type(node) == NODETYPE_CRITERIA) { + if (oval_result_criteria_node_get_type(node) == NODETYPE_CRITERIA) { struct oval_result_criteria_node_CRITERIA *criteria = ((struct oval_result_criteria_node_CRITERIA *)node); oval_collection_add(criteria->subnodes, subnode); @@ -425,7 +426,7 @@ (struct oval_result_criteria_node *node, struct oval_result_test *test) { //type==NODETYPE_CRITERION - if (oval_result_criteria_node_type(node) == NODETYPE_CRITERION) { + if (oval_result_criteria_node_get_type(node) == NODETYPE_CRITERION) { ((struct oval_result_criteria_node_CRITERION *)node)-> test = test; } @@ -435,7 +436,7 @@ (struct oval_result_criteria_node *node, struct oval_result_definition *extends) { //type==NODETYPE_EXTENDDEF - if (oval_result_criteria_node_type(node) == NODETYPE_EXTENDDEF) { + if (oval_result_criteria_node_get_type(node) == NODETYPE_EXTENDDEF) { extends = ((struct oval_result_criteria_node_EXTENDDEF *)node)-> extends = extends; @@ -476,7 +477,7 @@ struct oval_result_criteria_node *node = NULL; if(strcmp(localName, "criteria")==0){ - oval_operator_enum operator = oval_operator_parse + oval_operator_t operator = oval_operator_parse (reader, "operator",OPERATOR_UNKNOWN); int negate = oval_parser_boolean_attribute(reader, "negate", false); node = oval_result_criteria_node_new(NODETYPE_CRITERIA, negate, operator); @@ -490,14 +491,14 @@ int variable_instance = oval_parser_int_attribute(reader, "variable_instance",1); int negate = oval_parser_boolean_attribute(reader, "negate", false); struct oval_syschar_model *syschar_model - = oval_result_system_syschar_model(system); + = oval_result_system_get_syschar_model(system); struct oval_object_model *object_model - = oval_syschar_model_object_model(syschar_model); + = oval_syschar_model_get_object_model(syschar_model); struct oval_test *oval_test - = get_oval_test(object_model, test_ref); + = oval_object_model_get_test(object_model, test_ref); struct oval_result_test *rslt_test = (oval_test) ?get_oval_result_test_new(system, oval_test):NULL; - int test_vsn = oval_test_version(oval_test); + int test_vsn = oval_test_get_version(oval_test); if(test_vsn!=version){ char message[200]; *message = '\0'; sprintf @@ -519,11 +520,11 @@ int variable_instance = oval_parser_int_attribute(reader, "variable_instance",1); int negate = oval_parser_boolean_attribute(reader, "negate", false); struct oval_syschar_model *syschar_model - = oval_result_system_syschar_model(system); + = oval_result_system_get_syschar_model(system); struct oval_object_model *object_model - = oval_syschar_model_object_model(syschar_model); + = oval_syschar_model_get_object_model(syschar_model); struct oval_definition *oval_definition - = get_oval_definition(object_model,definition_ref); + = oval_object_model_get_definition(object_model,definition_ref); struct oval_result_definition *rslt_definition = (oval_definition) ?get_oval_result_definition_new(system, oval_definition):NULL; node = (rslt_definition) @@ -538,7 +539,7 @@ return_code = 0; } if(return_code){ - oval_result_enum result = oval_result_parse(reader, "result", 0); + oval_result_t result = oval_result_parse(reader, "result", 0); set_oval_result_criteria_node_result(node, result); } (*consumer)(node, client); @@ -553,15 +554,15 @@ xmlNs *ns_results = xmlSearchNsByHref(doc, parent, OVAL_RESULTS_NAMESPACE); xmlNode *node_root = xmlNewChild(parent, ns_results, "criteria", NULL); - oval_operator_enum operator = oval_result_criteria_node_operator(node); - const char* operator_att = oval_operator_text(operator); + oval_operator_t operator = oval_result_criteria_node_get_operator(node); + const char* operator_att = oval_operator_get_text(operator); xmlNewProp(node_root, "operator", operator_att); - struct oval_iterator_result_criteria_node *subnodes - = oval_result_criteria_node_subnodes(node); - while(oval_iterator_result_criteria_node_has_more(subnodes)){ + struct oval_result_criteria_node_iterator *subnodes + = oval_result_criteria_node_get_subnodes(node); + while(oval_result_criteria_node_iterator_has_more(subnodes)){ struct oval_result_criteria_node *subnode - = oval_iterator_result_criteria_node_next(subnodes); + = oval_result_criteria_node_iterator_next(subnodes); oval_result_criteria_node_to_dom (subnode,doc, node_root); } @@ -574,11 +575,15 @@ xmlNs *ns_results = xmlSearchNsByHref(doc, parent, OVAL_RESULTS_NAMESPACE); xmlNode *node_root = xmlNewChild(parent, ns_results, "criterion", NULL); - struct oval_result_test *rslt_test = oval_result_criteria_node_test(node); - struct oval_test *oval_test = oval_result_test_test(rslt_test); - char *test_ref = oval_test_id(oval_test); + struct oval_result_test *rslt_test = oval_result_criteria_node_get_test(node); + struct oval_test *oval_test = oval_result_test_get_test(rslt_test); + char *test_ref = oval_test_get_id(oval_test); xmlNewProp(node_root, "test_ref", test_ref); + char version[10]; *version = '\0'; + snprintf(version, sizeof(version), "%d", oval_test_get_version(oval_test)); + xmlNewProp(node_root, "version", version); + return node_root; } @@ -588,9 +593,9 @@ xmlNs *ns_results = xmlSearchNsByHref(doc, parent, OVAL_RESULTS_NAMESPACE); xmlNode *node_root = xmlNewChild(parent, ns_results, "extend_definition", NULL); - struct oval_result_definition *rslt_definition = oval_result_criteria_node_extends(node); - struct oval_definition *oval_definition = oval_result_definition_definition(rslt_definition); - char *definition_ref = oval_definition_id(oval_definition); + struct oval_result_definition *rslt_definition = oval_result_criteria_node_get_extends(node); + struct oval_definition *oval_definition = oval_result_definition_get_definition(rslt_definition); + char *definition_ref = oval_definition_get_id(oval_definition); xmlNewProp(node_root, "definition_ref", definition_ref); return node_root; @@ -601,7 +606,7 @@ (struct oval_result_criteria_node *node, xmlDocPtr doc, xmlNode *parent) { xmlNode *criteria_node = NULL; - switch(oval_result_criteria_node_type(node)){ + switch(oval_result_criteria_node_get_type(node)){ case NODETYPE_CRITERIA: criteria_node = _oval_result_CRITERIA_to_dom(node, doc, parent);break; case NODETYPE_CRITERION: @@ -612,12 +617,12 @@ } if(criteria_node){ - oval_result_enum result - = oval_result_criteria_node_result(node); + oval_result_t result + = oval_result_criteria_node_get_result(node); const char* result_att = oval_result_text(result); xmlNewProp(criteria_node, "result", result_att); - bool negate = oval_result_criteria_node_negate(node); + bool negate = oval_result_criteria_node_get_negate(node); if(negate!=false){ xmlNewProp(criteria_node, "negate", "true"); } diff -u -r a/src/OVAL/oval_resultDefinition.c b/src/OVAL/oval_resultDefinition.c --- a/src/OVAL/oval_resultDefinition.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_resultDefinition.c 2009-09-21 17:09:17 -0400 @@ -38,21 +38,21 @@ typedef struct oval_result_definition{ struct oval_definition *definition; - oval_result_enum result; + oval_result_t result; struct oval_result_system *system; struct oval_result_criteria_node *criteria; struct oval_collection *messages; int instance; } oval_result_definition_t; -int oval_iterator_result_definition_has_more - (struct oval_iterator_result_definition *definitions) +int oval_result_definition_iterator_has_more + (struct oval_result_definition_iterator *definitions) { return oval_collection_iterator_has_more ((struct oval_iterator *)definitions); } -struct oval_result_definition *oval_iterator_result_definition_next - (struct oval_iterator_result_definition *definitions) +struct oval_result_definition *oval_result_definition_iterator_next + (struct oval_result_definition_iterator *definitions) { return (struct oval_result_definition *) oval_collection_iterator_next @@ -65,8 +65,8 @@ oval_result_definition_t *definition = (oval_result_definition_t *) malloc(sizeof(oval_result_definition_t)); definition->system = system; - struct oval_syschar_model *syschar_model = oval_result_system_syschar_model(system); - struct oval_object_model *object_model = oval_syschar_model_object_model (syschar_model); + struct oval_syschar_model *syschar_model = oval_result_system_get_syschar_model(system); + struct oval_object_model *object_model = oval_syschar_model_get_object_model (syschar_model); definition->definition = get_oval_definition_new(object_model, definition_id); definition->result = OVAL_RESULT_INVALID; definition->criteria = NULL; @@ -90,54 +90,56 @@ struct oval_result_definition *make_result_definition_from_oval_definition (struct oval_result_system *system, struct oval_definition *oval_definition) { - char *defid = oval_definition_id(oval_definition); + char *defid = oval_definition_get_id(oval_definition); struct oval_result_definition *rslt_definition = oval_result_definition_new(system, defid); struct oval_criteria_node *oval_criteria - = oval_definition_criteria(oval_definition); + = oval_definition_get_criteria(oval_definition); struct oval_result_criteria_node *rslt_criteria = make_result_criteria_node_from_oval_criteria_node(system, oval_criteria); if(rslt_criteria) - set_oval_result_definition_criteria(rslt_definition, rslt_criteria); + oval_result_definition_set_criteria(rslt_definition, rslt_criteria); else - set_oval_result_definition_result(rslt_definition, OVAL_RESULT_NOT_EVALUATED); + oval_result_definition_set_result(rslt_definition, OVAL_RESULT_NOT_EVALUATED); return rslt_definition; } -struct oval_definition *oval_result_definition_definition +struct oval_definition *oval_result_definition_get_definition (struct oval_result_definition *definition) { return definition->definition; } -struct oval_result_system *oval_result_definition_system +struct oval_result_system *oval_result_definition_get_system (struct oval_result_definition *definition) { return definition->system; } -int oval_result_definition_instance +int oval_result_definition_get_instance (struct oval_result_definition *definition) { return definition->instance; } -oval_result_enum oval_result_definition_result +oval_result_t oval_result_definition_get_result (struct oval_result_definition *definition) { if(definition->result==OVAL_RESULT_INVALID){ struct oval_result_criteria_node *criteria = oval_result_definition_criteria(definition); - definition-> result = oval_result_criteria_node_result(criteria); + + definition-> result = (criteria==NULL) + ?OVAL_RESULT_NOT_EVALUATED:oval_result_criteria_node_get_result(criteria); } return definition->result; } -struct oval_iterator_message *oval_result_definition_messages +struct oval_message_iterator *oval_result_definition_messages (struct oval_result_definition *definition) { - return (struct oval_iterator_message *) + return (struct oval_message_iterator *) oval_collection_iterator(definition->messages); } @@ -147,31 +149,31 @@ return definition->criteria; } -void set_oval_result_definition_result - (struct oval_result_definition *definition, oval_result_enum result) +void oval_result_definition_set_result + (struct oval_result_definition *definition, oval_result_t result) { definition->result = result; } -void set_oval_result_definition_instance +void oval_result_definition_set_instance (struct oval_result_definition *definition, int instance) { definition->instance = instance; } -void set_oval_result_definition_criteria +void oval_result_definition_set_criteria (struct oval_result_definition *definition, struct oval_result_criteria_node *criteria) { if(definition->criteria){ - if(oval_result_criteria_node_type(criteria)==NODETYPE_CRITERIA){ + if(oval_result_criteria_node_get_type(criteria)==NODETYPE_CRITERIA){ oval_result_criteria_node_free(definition->criteria); } } definition->criteria = criteria; } -void add_oval_result_definition_message +void oval_result_definition_add_message (struct oval_result_definition *definition, struct oval_message *message) { @@ -182,13 +184,13 @@ (struct oval_result_criteria_node *node, struct oval_result_definition *definition) { - set_oval_result_definition_criteria(definition, node); + oval_result_definition_set_criteria(definition, node); } void _oval_result_definition_consume_message (struct oval_message *message, struct oval_result_definition *definition) { - add_oval_result_definition_message(definition, message); + oval_result_definition_add_message(definition, message); } int _oval_result_definition_parse @@ -203,7 +205,7 @@ } if (strcmp(localName, "criteria")==0){ return_code = oval_result_criteria_node_parse - (reader, context,oval_result_definition_system(definition), + (reader, context,oval_result_definition_get_system(definition), (oscap_consumer_func)_oval_result_definition_consume_criteria, definition); }else if (strcmp(localName, "message")==0){ return_code = oval_message_parse_tag @@ -238,7 +240,7 @@ struct oval_result_definition *definition = oval_result_definition_new (system, (char *)definition_id); - int defvsn = oval_definition_version(definition->definition); + int defvsn = oval_definition_get_version(definition->definition); if(defvsn && resvsn!=defvsn){ char message[200];*message = '\0'; sprintf(message, @@ -249,8 +251,8 @@ oval_parser_log_warn(context, message); } set_oval_definition_version(definition->definition, resvsn); - set_oval_result_definition_instance(definition, instance); - oval_result_enum result = 0; + oval_result_definition_set_instance(definition, instance); + oval_result_t result = 0; int i; for(i=1;i<7 && result==0;i++){ result = strcmp @@ -258,7 +260,7 @@ ?i:0; } if(result){ - set_oval_result_definition_result(definition, result); + oval_result_definition_set_result(definition, result); }else{ char message[200];*message = '\0'; sprintf(message, @@ -295,46 +297,49 @@ } xmlNode *oval_result_definition_to_dom - (struct oval_result_definition *definition, xmlDocPtr doc, xmlNode *parent) + (struct oval_result_definition *definition, oval_result_directive_content_t content, + xmlDocPtr doc, xmlNode *parent) { xmlNs *ns_results = xmlSearchNsByHref(doc, parent, OVAL_RESULTS_NAMESPACE); xmlNode *definition_node = xmlNewChild(parent, ns_results, "definition", NULL); struct oval_definition *oval_definition - = oval_result_definition_definition(definition); - char *definition_id = oval_definition_id(oval_definition); + = oval_result_definition_get_definition(definition); + char *definition_id = oval_definition_get_id(oval_definition); xmlNewProp(definition_node, "definition_id", definition_id); - oval_result_enum result - = oval_result_definition_result(definition); + oval_result_t result + = oval_result_definition_get_result(definition); const char* result_att = oval_result_text(result); xmlNewProp(definition_node, "result", result_att); - int version = oval_definition_version(oval_definition); + int version = oval_definition_get_version(oval_definition); char version_att[10]; *version_att = '\0'; snprintf(version_att, sizeof(version_att), "%d", version); xmlNewProp(definition_node, "version", version_att); - int instance = oval_result_definition_instance(definition); + int instance = oval_result_definition_get_instance(definition); if(instance!=1){ char instance_att[10]; *instance_att = '\0'; snprintf(instance_att, sizeof(instance_att), "%d", instance); xmlNewProp(definition_node, "variable_instance", instance_att); } - struct oval_iterator_message *messages + struct oval_message_iterator *messages = oval_result_definition_messages(definition); - while(oval_iterator_message_has_more(messages)){ + while(oval_message_iterator_has_more(messages)){ oval_message_to_dom - (oval_iterator_message_next(messages), + (oval_message_iterator_next(messages), doc, definition_node); } - struct oval_result_criteria_node *criteria - = oval_result_definition_criteria(definition); - if(criteria){ - oval_result_criteria_node_to_dom - (criteria, doc, definition_node); + if(content==OVAL_DIRECTIVE_CONTENT_FULL){ + struct oval_result_criteria_node *criteria + = oval_result_definition_criteria(definition); + if(criteria){ + oval_result_criteria_node_to_dom + (criteria, doc, definition_node); + } } return definition_node; diff -u -r a/src/OVAL/oval_resultDirectives.c b/src/OVAL/oval_resultDirectives.c --- a/src/OVAL/oval_resultDirectives.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_resultDirectives.c 2009-09-21 17:09:17 -0400 @@ -31,14 +31,14 @@ #include #include #include -#include "../common/util.h" +#include #include "oval_results_impl.h" #include "oval_collection_impl.h" struct _oval_result_directive{ bool reported; - oval_result_directive_content_enum content; + oval_result_directive_content_t content; }; #define NUMBER_OF_RESULTS 7 @@ -62,23 +62,23 @@ free(directives); } -bool oval_result_directive_reported - (struct oval_result_directives *directives, oval_result_enum type) +bool oval_result_directive_get_reported + (struct oval_result_directives *directives, oval_result_t type) { return directives->directive[type].reported; } -oval_result_directive_content_enum oval_result_directive_content - (struct oval_result_directives *directives, oval_result_enum type) +oval_result_directive_content_t oval_result_directive_get_content + (struct oval_result_directives *directives, oval_result_t type) { return directives->directive[type].content; } -void set_oval_result_directive_reported - (struct oval_result_directives *directives, oval_result_enum type, bool reported) +void oval_result_directive_set_reported + (struct oval_result_directives *directives, oval_result_t type, bool reported) { directives->directive[type].reported = reported; } -void set_oval_result_directive_content - (struct oval_result_directives *directives, oval_result_enum type, oval_result_directive_content_enum content) +void oval_result_directive_set_content + (struct oval_result_directives *directives, oval_result_t type, oval_result_directive_content_t content) { directives->directive[type].content = content; } @@ -88,7 +88,7 @@ (xmlTextReaderPtr reader, struct oval_parser_context *context, void *client) { struct oval_result_directives *directives = (struct oval_result_directives *)client; - oval_result_directive_content_enum type = OVAL_DIRECTIVE_CONTENT_UNKNOWN; + oval_result_directive_content_t type = OVAL_DIRECTIVE_CONTENT_UNKNOWN; char *tag_names[NUMBER_OF_RESULTS] = { NULL @@ -111,11 +111,11 @@ char* boolstr = xmlTextReaderGetAttribute(reader, "reported"); bool reported = strcmp(boolstr,"1")==0 || strcmp(boolstr,"true")==0; free(boolstr); - set_oval_result_directive_reported(directives, type, reported); + oval_result_directive_set_reported(directives, type, reported); } {//content xmlChar *contentstr = xmlTextReaderGetAttribute(reader, "content"); - oval_result_directive_content_enum content = OVAL_DIRECTIVE_CONTENT_UNKNOWN; + oval_result_directive_content_t content = OVAL_DIRECTIVE_CONTENT_UNKNOWN; if(contentstr){ char *content_names[3] = {NULL,"thin", "full"}; for(i=1;i<3 && content==OVAL_DIRECTIVE_CONTENT_UNKNOWN;i++){ @@ -124,7 +124,7 @@ } } if(content){ - set_oval_result_directive_content(directives, type, content); + oval_result_directive_set_content(directives, type, content); }else{ char message[200]; sprintf(message, "_oval_result_directives_parse_tag: cannot resolve @content=\"%s\"",contentstr); @@ -173,11 +173,11 @@ const struct oscap_string_map *map; for(map = _OVAL_DIRECTIVE_MAP;map->string; map++) { - oval_result_enum directive = (oval_result_enum) + oval_result_t directive = (oval_result_t) map->value; - bool reported = oval_result_directive_reported + bool reported = oval_result_directive_get_reported (directives, directive); - oval_result_directive_content_enum content = oval_result_directive_content + oval_result_directive_content_t content = oval_result_directive_get_content (directives, directive); xmlNode *directive_node = xmlNewChild (directives_node, ns_results, (map->string),NULL); diff -u -r a/src/OVAL/oval_resultItem.c b/src/OVAL/oval_resultItem.c --- a/src/OVAL/oval_resultItem.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_resultItem.c 2009-09-21 17:09:07 -0400 @@ -36,7 +36,7 @@ #define OVAL_RESULT_ITEM_DEBUG 0 typedef struct oval_result_item { - oval_result_enum result; + oval_result_t result; struct oval_collection *messages; struct oval_sysdata *sysdata; } oval_result_item_t; @@ -46,7 +46,7 @@ { oval_result_item_t *item = (oval_result_item_t *) malloc(sizeof(oval_result_item_t)); - struct oval_syschar_model *syschar_model = oval_result_system_syschar_model(system); + struct oval_syschar_model *syschar_model = oval_result_system_get_syschar_model(system); struct oval_sysdata *sysdata = get_oval_sysdata_new(syschar_model, item_id); item->sysdata = sysdata; @@ -65,15 +65,15 @@ item->sysdata = NULL; } -int oval_iterator_result_item_has_more(struct oval_iterator_result_item +int oval_result_item_iterator_has_more(struct oval_result_item_iterator *oc_result_item) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_result_item); } -struct oval_result_item *oval_iterator_result_item_next(struct - oval_iterator_result_item +struct oval_result_item *oval_result_item_iterator_next(struct + oval_result_item_iterator *oc_result_item) { return (struct oval_result_item *) @@ -81,25 +81,25 @@ oc_result_item); } -struct oval_sysdata *oval_result_item_sysdata(struct oval_result_item *item) +struct oval_sysdata *oval_result_item_get_sysdata(struct oval_result_item *item) { return item->sysdata; } -oval_result_enum oval_result_item_result(struct oval_result_item *item) +oval_result_t oval_result_item_get_result(struct oval_result_item *item) { return ((struct oval_result_item *)item)->result; } -struct oval_iterator_message *oval_result_item_messages +struct oval_message_iterator *oval_result_item_get_messages (struct oval_result_item *item) { - return (struct oval_iterator_message *) + return (struct oval_message_iterator *) oval_collection_iterator(item->messages); } -void set_oval_result_item_result(struct oval_result_item *item, oval_result_enum result) +void set_oval_result_item_result(struct oval_result_item *item, oval_result_t result) { item->result = result; } @@ -135,7 +135,7 @@ xmlChar *item_id = xmlTextReaderGetAttribute(reader, "item_id"); struct oval_result_item *item = oval_result_item_new(system, item_id); - oval_result_enum result = oval_result_parse(reader, "result", 0); + oval_result_t result = oval_result_parse(reader, "result", 0); set_oval_result_item_result(item, result); if(OVAL_RESULT_ITEM_DEBUG){ @@ -146,8 +146,8 @@ "oval_result_item_parse_tag:\n" " item_id = %s\n" " result = %d", - oval_sysdata_id(oval_result_item_sysdata(item)), - oval_result_item_result(item) + oval_sysdata_get_id(oval_result_item_get_sysdata(item)), + oval_result_item_get_result(item) ); oval_parser_log_debug(context, message); } @@ -168,11 +168,11 @@ xmlNs *ns_results = xmlSearchNsByHref(doc, parent, OVAL_RESULTS_NAMESPACE); xmlNode *item_node = xmlNewChild(parent, ns_results, "tested_item", NULL); - struct oval_sysdata *oval_sysdata = oval_result_item_sysdata(rslt_item); - char *item_id = oval_sysdata_id(oval_sysdata); + struct oval_sysdata *oval_sysdata = oval_result_item_get_sysdata(rslt_item); + char *item_id = oval_sysdata_get_id(oval_sysdata); xmlNewProp(item_node, "item_id", item_id); - oval_result_enum result = oval_result_item_result(rslt_item); + oval_result_t result = oval_result_item_get_result(rslt_item); xmlNewProp(item_node, "result", oval_result_text(result)); return item_node; diff -u -r a/src/OVAL/oval_resultSystem.c b/src/OVAL/oval_resultSystem.c --- a/src/OVAL/oval_resultSystem.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_resultSystem.c 2009-09-21 17:22:22 -0400 @@ -70,14 +70,14 @@ free(system); } -int oval_iterator_result_system_has_more - (struct oval_iterator_result_system *system) +int oval_result_system_iterator_has_more + (struct oval_result_system_iterator *system) { return oval_collection_iterator_has_more ((struct oval_iterator *)system); } -struct oval_result_system *oval_iterator_result_system_next - (struct oval_iterator_result_system *system) +struct oval_result_system *oval_result_system_iterator_next + (struct oval_result_system_iterator *system) { return (struct oval_result_system *) oval_collection_iterator_next @@ -88,31 +88,31 @@ (struct oval_result_system *system) { system->definitions_initialized = true; - struct oval_object_model *object_model = oval_syschar_model_object_model(system->syschar_model); + struct oval_object_model *object_model = oval_syschar_model_get_object_model(system->syschar_model); - struct oval_iterator_definition *oval_definitions = get_oval_definitions(object_model); - int i;for(i=0;oval_iterator_definition_has_more(oval_definitions);i++){ - struct oval_definition *oval_definition = oval_iterator_definition_next(oval_definitions); + struct oval_definition_iterator *oval_definitions = oval_object_model_get_definitions(object_model); + int i;for(i=0;oval_definition_iterator_has_more(oval_definitions);i++){ + struct oval_definition *oval_definition = oval_definition_iterator_next(oval_definitions); get_oval_result_definition_new(system, oval_definition); } - struct oval_iterator_test *oval_tests = get_oval_tests(object_model); - while(oval_iterator_test_has_more(oval_tests)){ - struct oval_test *oval_test = oval_iterator_test_next(oval_tests); + struct oval_test_iterator *oval_tests = oval_object_model_get_tests(object_model); + while(oval_test_iterator_has_more(oval_tests)){ + struct oval_test *oval_test = oval_test_iterator_next(oval_tests); get_oval_result_test_new(system, oval_test); } } -struct oval_iterator_result_definition *oval_result_system_definitions +struct oval_result_definition_iterator *oval_result_system_get_definitions (struct oval_result_system *system) { if(!system->definitions_initialized){ _oval_result_system_initialize(system); } - return (struct oval_iterator_result_definition *) + return (struct oval_result_definition_iterator *) oval_string_map_values(system->definitions); } -struct oval_iterator_result_test *oval_result_system_tests +struct oval_iterator_result_test *oval_result_system_get_tests (struct oval_result_system *system) { if(!system->definitions_initialized){ @@ -147,13 +147,13 @@ { struct oval_result_definition *rslt_definition = NULL; if(oval_definition){ - char *id = oval_definition_id(oval_definition); + char *id = oval_definition_get_id(oval_definition); rslt_definition = get_oval_result_definition(system, id); if (rslt_definition == NULL) { rslt_definition = make_result_definition_from_oval_definition (system, oval_definition); - add_oval_result_system_definition(system, rslt_definition); + oval_result_system_add_definition_(system, rslt_definition); } } return rslt_definition; @@ -162,48 +162,48 @@ struct oval_result_test *get_oval_result_test_new (struct oval_result_system *system, struct oval_test *oval_test) { - char *id = oval_test_id(oval_test); + char *id = oval_test_get_id(oval_test); struct oval_result_test *rslt_testtest = get_oval_result_test(system, id); if (rslt_testtest == NULL) { //test = oval_result_test_new(system, id); rslt_testtest = make_result_test_from_oval_test(system, oval_test); - add_oval_result_system_test(system, rslt_testtest); + oval_result_system_add_test(system, rslt_testtest); } return rslt_testtest; } -struct oval_syschar_model *oval_result_system_syschar_model +struct oval_syschar_model *oval_result_system_get_syschar_model (struct oval_result_system *system) { return system->syschar_model; } -struct oval_sysinfo *oval_result_system_sysinfo +struct oval_sysinfo *oval_result_system_get_sysinfo (struct oval_result_system *system) { struct oval_syschar_model *syschar_model = - oval_result_system_syschar_model(system); + oval_result_system_get_syschar_model(system); return (syschar_model) - ?oval_syschar_model_sysinfo(syschar_model):NULL; + ?oval_syschar_model_get_sysinfo(syschar_model):NULL; } -void add_oval_result_system_definition +void oval_result_system_add_definition_ (struct oval_result_system *system, struct oval_result_definition *definition) { if(definition){ - struct oval_definition *ovaldef = oval_result_definition_definition(definition); - char *id = oval_definition_id(ovaldef); + struct oval_definition *ovaldef = oval_result_definition_get_definition(definition); + char *id = oval_definition_get_id(ovaldef); oval_string_map_put(system->definitions, id, definition); } } -void add_oval_result_system_test +void oval_result_system_add_test (struct oval_result_system *system, struct oval_result_test *test) { if(test){ - struct oval_test *ovaldef = oval_result_test_test(test); - char *id = oval_test_id(ovaldef); + struct oval_test *ovaldef = oval_result_test_get_test(test); + char *id = oval_test_get_id(ovaldef); oval_string_map_put(system->tests, id, test); } } @@ -211,7 +211,7 @@ void _oval_result_system_test_consume (struct oval_result_test *test, struct oval_result_system *system) { - add_oval_result_system_test(system, test); + oval_result_system_add_test(system, test); } int _oval_result_system_test_parse @@ -227,7 +227,7 @@ void _oval_result_system_definition_consume (struct oval_result_definition *definition, struct oval_result_system *system) { - add_oval_result_system_definition(system, definition); + oval_result_system_add_definition_(system, definition); } int _oval_result_system_definition_parse @@ -291,6 +291,175 @@ return return_code; } +void _oval_result_system_scan_criteria_for_references + (struct oval_result_criteria_node *node, struct oval_string_map *testmap) +{ + struct oval_result_criteria_node_iterator *subnodes + = oval_result_criteria_node_get_subnodes(node); + while(subnodes && oval_result_criteria_node_iterator_has_more(subnodes)){ + struct oval_result_criteria_node *subnode + = oval_result_criteria_node_iterator_next(subnodes); + _oval_result_system_scan_criteria_for_references(subnode, testmap); + } + struct oval_result_test *result_test = oval_result_criteria_node_get_test(node); + if(result_test){ + struct oval_test *oval_test = oval_result_test_get_test(result_test); + char *testid = oval_test_get_id(oval_test); + void *value = oval_string_map_get_value(testmap, testid); + if(value==NULL){ + oval_string_map_put(testmap, testid, result_test); + } + } +} + +void _oval_result_system_scan_entity_for_references + (struct oval_syschar_model *syschar_model, struct oval_entity *entity, + struct oval_string_map *objmap, + struct oval_string_map *sttmap, + struct oval_string_map *varmap, + struct oval_string_map *sysmap); + +void _oval_result_system_scan_set_for_references + (struct oval_syschar_model *syschar_model, struct oval_set *set, + struct oval_string_map *objmap, + struct oval_string_map *sttmap, + struct oval_string_map *varmap, + struct oval_string_map *sysmap); + +void _oval_result_system_scan_object_for_references + (struct oval_syschar_model *syschar_model, struct oval_object *object, + struct oval_string_map *objmap, + struct oval_string_map *sttmap, + struct oval_string_map *varmap, + struct oval_string_map *sysmap) +{ + char *objid = oval_object_get_id(object); + struct oval_syschar *syschar = oval_syschar_model_get_syschar(syschar_model, objid); + if(syschar)oval_string_map_put(sysmap, objid, syschar); + struct oval_object_content_iterator *contents = oval_object_get_object_content(object); + while(oval_object_content_iterator_has_more(contents)){ + struct oval_object_content *content = oval_object_content_iterator_next(contents); + struct oval_entity *entity = oval_object_content_get_entity(content); + if(entity)_oval_result_system_scan_entity_for_references(syschar_model, entity, objmap, sttmap, varmap, sysmap); + struct oval_set *set = oval_object_content_get_setobject(content); + if(set)_oval_result_system_scan_set_for_references(syschar_model, set, objmap, sttmap, varmap, sysmap); + } +} +void _oval_result_system_scan_state_for_references + (struct oval_syschar_model *syschar_model, struct oval_state *state, + struct oval_string_map *objmap, + struct oval_string_map *sttmap, + struct oval_string_map *varmap, + struct oval_string_map *sysmap) +{ + struct oval_state_content_iterator *contents = oval_state_get_contents(state); + while(oval_state_content_iterator_has_more(contents)){ + struct oval_state_content *content = oval_state_content_iterator_next(contents); + struct oval_entity *entity = oval_state_content_get_entity(content); + if(entity)_oval_result_system_scan_entity_for_references(syschar_model, entity, objmap, sttmap, varmap, sysmap); + } +} + +void _oval_result_system_scan_component_for_references + (struct oval_syschar_model *syschar_model, struct oval_component *component, + struct oval_string_map *objmap, + struct oval_string_map *sttmap, + struct oval_string_map *varmap, + struct oval_string_map *sysmap) +{ + struct oval_variable *variable = oval_component_get_variable(component); + if(variable){ + char *varid = oval_variable_get_id(variable); + void *value = oval_string_map_get_value(varmap, varid); + if(value==NULL){ + oval_string_map_put(varmap, varid, variable); + struct oval_component *component = oval_variable_get_component(variable); + if(component){ + _oval_result_system_scan_component_for_references(syschar_model, component, objmap, sttmap, varmap, sysmap); + } + } + }else{ + struct oval_component_iterator *fcomponents = oval_component_get_function_components(component); + if(fcomponents)while(oval_component_iterator_has_more(fcomponents)){ + struct oval_component *fcomponent = oval_component_iterator_next(fcomponents); + _oval_result_system_scan_component_for_references(syschar_model, fcomponent, objmap, sttmap, varmap, sysmap); + } + + struct oval_object *object = oval_component_get_object(component); + if(object){ + char *objid = oval_object_get_id(object); + void *value = oval_string_map_get_value(objmap, objid); + if(value==NULL){ + oval_string_map_put(objmap, objid, object); + _oval_result_system_scan_object_for_references(syschar_model, object, objmap, sttmap, varmap, sysmap); + } + } + } +} + +void _oval_result_system_scan_entity_for_references + (struct oval_syschar_model *syschar_model, struct oval_entity *entity, + struct oval_string_map *objmap, + struct oval_string_map *sttmap, + struct oval_string_map *varmap, + struct oval_string_map *sysmap) +{ + struct oval_variable *variable = oval_entity_get_variable(entity); + if(variable){ + char *varid = oval_variable_get_id(variable); + void *value = oval_string_map_get_value(varmap, varid); + if(value==NULL){ + oval_string_map_put(varmap, varid, variable); + struct oval_component *component = oval_variable_get_component(variable); + if(component){ + _oval_result_system_scan_component_for_references(syschar_model, component, objmap, sttmap, varmap, sysmap); + } + } + } +} + +void _oval_result_system_scan_set_for_references + (struct oval_syschar_model *syschar_model, struct oval_set *set, + struct oval_string_map *objmap, + struct oval_string_map *sttmap, + struct oval_string_map *varmap, + struct oval_string_map *sysmap) +{ + struct oval_object_iterator *objects = oval_set_get_objects(set); + if(objects)while(oval_object_iterator_has_more(objects)){ + struct oval_object *object = oval_object_iterator_next(objects); + char *objid = oval_object_get_id(object); + void *value = oval_string_map_get_value(objmap, objid); + if(value==NULL){ + oval_string_map_put(objmap, objid, object); + _oval_result_system_scan_object_for_references(syschar_model, object, objmap, sttmap, varmap, sysmap); + } + } + struct oval_state_iterator *states = oval_set_get_filters(set); + if(states)while(oval_state_iterator_has_more(states)){ + struct oval_state *state = oval_state_iterator_next(states); + char *sttid = oval_state_get_id(state); + void *value = oval_string_map_get_value(sttmap, sttid); + if(value==NULL){ + oval_string_map_put(sttmap, sttid, state); + _oval_result_system_scan_state_for_references(syschar_model, state, objmap, sttmap, varmap, sysmap); + } + } + struct oval_set_iterator *subsets = oval_set_get_subsets(set); + if(subsets)while(oval_set_iterator_has_more(subsets)){ + struct oval_set *subset = oval_set_iterator_next(subsets); + _oval_result_system_scan_set_for_references(syschar_model, subset, objmap, sttmap, varmap, sysmap); + } +} + +bool _oval_result_system_resolve_syschar + (struct oval_syschar *syschar, struct oval_string_map *sysmap) +{ + struct oval_object *object = oval_syschar_get_object(syschar); + char *objid = oval_object_get_id(object); + return oval_string_map_get_value(sysmap, objid)!=NULL; +} + xmlNode *oval_result_system_to_dom (struct oval_result_system *system, struct oval_results_model *results_model, @@ -300,35 +469,70 @@ xmlNs *ns_results = xmlSearchNsByHref(doc, parent, OVAL_RESULTS_NAMESPACE); xmlNode *system_node = xmlNewChild(parent, ns_results, "system", NULL); + struct oval_string_map *tstmap = oval_string_map_new(); + xmlNode *definitions_node = xmlNewChild(system_node, ns_results, "definitions", NULL); - struct oval_object_model *object_model = oval_results_model_object_model(results_model); - struct oval_iterator_definition *oval_definitions = get_oval_definitions(object_model); - int i;for(i=0;oval_iterator_definition_has_more(oval_definitions);i++){ - struct oval_definition *oval_definition = oval_iterator_definition_next(oval_definitions); + struct oval_object_model *object_model = oval_results_model_get_object_model(results_model); + struct oval_definition_iterator *oval_definitions = oval_object_model_get_definitions(object_model); + int i;for(i=0;oval_definition_iterator_has_more(oval_definitions);i++){ + struct oval_definition *oval_definition = oval_definition_iterator_next(oval_definitions); struct oval_result_definition *rslt_definition = get_oval_result_definition_new(system, oval_definition); if(rslt_definition){ - oval_result_enum result = oval_result_definition_result(rslt_definition); - if(oval_result_directive_reported(directives, result)){ + oval_result_t result = oval_result_definition_get_result(rslt_definition); + if(oval_result_directive_get_reported(directives, result)){ + oval_result_directive_content_t content + = oval_result_directive_get_content(directives, result); oval_result_definition_to_dom - (rslt_definition, doc, definitions_node); + (rslt_definition, content, doc, definitions_node); + if(content==OVAL_DIRECTIVE_CONTENT_FULL){ + struct oval_result_criteria_node *criteria + = oval_result_definition_criteria(rslt_definition); + if(criteria)_oval_result_system_scan_criteria_for_references(criteria, tstmap); + } } } } - xmlNode *tests_node = xmlNewChild(system_node, ns_results, "tests", NULL); - struct oval_iterator_test *oval_tests = get_oval_tests(object_model); - while(oval_iterator_test_has_more(oval_tests)){ - struct oval_test *oval_test = oval_iterator_test_next(oval_tests); - struct oval_result_test *rslt_test - = get_oval_result_test_new(system, oval_test); - if(rslt_test) - oval_result_test_to_dom - (rslt_test, doc, tests_node); + struct oval_syschar_model *syschar_model = oval_result_system_get_syschar_model(system); + struct oval_string_map *sysmap = oval_string_map_new(); + struct oval_string_map *objmap = oval_string_map_new(); + struct oval_string_map *sttmap = oval_string_map_new(); + struct oval_string_map *varmap = oval_string_map_new(); + + struct oval_iterator_result_test *result_tests = (struct oval_iterator_result_test *) + oval_string_map_values(tstmap); + if(oval_result_test_iterator_has_more(result_tests)){ + xmlNode *tests_node = xmlNewChild(system_node, ns_results, "tests", NULL); + while(oval_result_test_iterator_has_more(result_tests)){ + struct oval_result_test *result_test = oval_result_test_iterator_next(result_tests); + oval_result_test_to_dom(result_test, doc, tests_node); + struct oval_test *oval_test = oval_result_test_get_test(result_test); + struct oval_object *object = oval_test_get_object(oval_test); + if(object){ + char* objid = oval_object_get_id(object); + void* value = oval_string_map_get_value(objmap, objid); + if(value==NULL){ + struct oval_syschar *syschar = oval_syschar_model_get_syschar(syschar_model, objid); + if(syschar){ + oval_string_map_put(objmap, objid, object); + _oval_result_system_scan_object_for_references + (syschar_model, object, objmap, sttmap, varmap, sysmap); + } + } + } + } } - struct oval_syschar_model *syschar_model = oval_result_system_syschar_model(system); - oval_characteristics_to_dom(syschar_model, doc, system_node); + oval_characteristics_to_dom + (syschar_model, doc, system_node, + (oval_syschar_resolver *)_oval_result_system_resolve_syschar, sysmap); + + oval_string_map_free(sysmap, NULL); + oval_string_map_free(objmap, NULL); + oval_string_map_free(sttmap, NULL); + oval_string_map_free(varmap, NULL); + oval_string_map_free(tstmap, NULL); return system_node; } diff -u -r a/src/OVAL/oval_resultTest.c b/src/OVAL/oval_resultTest.c --- a/src/OVAL/oval_resultTest.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_resultTest.c 2009-09-21 17:13:51 -0400 @@ -30,16 +30,19 @@ #include #include #include +#include +#include #include "oval_results_impl.h" #include "oval_collection_impl.h" #include "oval_errno.h" #define OVAL_RESULT_TEST_DEBUG 0 +int rpmvercmp(const char * a, const char * b); // don't really feel like creating a new header file just for this typedef struct oval_result_test { struct oval_result_system *system; struct oval_test *test; - oval_result_enum result; + oval_result_t result; struct oval_message *message; struct oval_collection *items; struct oval_collection *bindings; @@ -51,9 +54,9 @@ oval_result_test_t *test = (oval_result_test_t *) malloc(sizeof(oval_result_test_t)); struct oval_syschar_model *syschar_model - = oval_result_system_syschar_model(system); + = oval_result_system_get_syschar_model(system); struct oval_object_model *object_model - = oval_syschar_model_object_model(syschar_model); + = oval_syschar_model_get_object_model(syschar_model); test->system = system; test->test = get_oval_test_new(object_model, tstid); test->message = NULL; @@ -67,7 +70,7 @@ struct oval_result_test *make_result_test_from_oval_test (struct oval_result_system *system, struct oval_test *oval_test) { - char *test_id = oval_test_id(oval_test); + char *test_id = oval_test_get_id(oval_test); return oval_result_test_new(system, test_id); } @@ -89,14 +92,14 @@ free(test); } -int oval_iterator_result_test_has_more(struct oval_iterator_result_test +int oval_result_test_iterator_has_more(struct oval_iterator_result_test *oc_result_test) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_result_test); } -struct oval_result_test *oval_iterator_result_test_next(struct +struct oval_result_test *oval_result_test_iterator_next(struct oval_iterator_result_test *oc_result_test) { @@ -105,91 +108,473 @@ oc_result_test); } -struct oval_result_system *oval_result_test_system(struct oval_result_test *rtest) +struct oval_result_system *oval_result_test_get_system(struct oval_result_test *rtest) { return rtest->system; } -struct oval_test *oval_result_test_test(struct oval_result_test *rtest) +struct oval_test *oval_result_test_get_test(struct oval_result_test *rtest) { return ((struct oval_result_test *)rtest)->test; } +int istrcmp(char *st1,char *st2) +{ + int comp_idx,ret_val; + + if ((!st1)||(!st2))return(1);// if either or both is null, you stink + for(comp_idx=0,ret_val=0;((!ret_val)&&(st1[comp_idx])&&(st2[comp_idx]));++comp_idx){ + ret_val=tolower(st2[comp_idx])-tolower(st1[comp_idx]); + } + return(ret_val); +} +int strregcomp(char *pattern,char *test_str) +{ + regex_t re; + int status; + + if ((status=regcomp(&re,pattern,REG_EXTENDED))){ +if (OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d unable to compile regex pattern:%d\n",__FILE__,__LINE__,status); + oval_errno=OVAL_INTERNAL_ERROR; + return(OVAL_RESULT_ERROR); + } + if (!(status=regexec(&re,test_str,0,NULL,0))){// got a match + return(0); + }else if (status==REG_NOMATCH){// no match, no errror + return(1); + }else{ +if (OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d unable to match regex pattern:%d\n",__FILE__,__LINE__,status); + oval_errno=OVAL_INTERNAL_ERROR; + return(OVAL_RESULT_ERROR); + } + regfree(&re); + return(0); +} +// finally, we have gotten to the point of comparing system data with a state +oval_result_t evaluate(char *sys_data,char *state_data,oval_datatype_t sys_data_type,oval_datatype_t state_data_type,oval_operation_t operation) +{ + if (state_data_type==OVAL_DATATYPE_STRING){ + if (operation==OPERATION_EQUALS){ + return((strcmp(state_data,sys_data))?OVAL_RESULT_FALSE:OVAL_RESULT_TRUE); + }else if (operation==OPERATION_CASE_INSENSITIVE_EQUALS){ + return((istrcmp(state_data,sys_data))?OVAL_RESULT_FALSE:OVAL_RESULT_TRUE); + }else if (operation==OPERATION_NOT_EQUAL){ + return((strcmp(state_data,sys_data))?OVAL_RESULT_TRUE:OVAL_RESULT_FALSE); + }else if (operation==OPERATION_CASE_INSENSITIVE_NOT_EQUAL){ + return((istrcmp(state_data,sys_data))?OVAL_RESULT_TRUE:OVAL_RESULT_FALSE); + }else if (operation==OPERATION_PATTERN_MATCH){ + return((strregcomp(state_data,sys_data))?OVAL_RESULT_FALSE:OVAL_RESULT_TRUE); + }else{ +if (OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d invalid string comparison:%d\n",__FILE__,__LINE__,operation); + oval_errno=OVAL_INVALID_COMPARISON; + return(OVAL_RESULT_INVALID); + } + }else if (state_data_type==OVAL_DATATYPE_INTEGER){ + int state_val,syschar_val; + state_val=atoi(state_data); + syschar_val=atoi(sys_data); + if (operation==OPERATION_EQUALS){ + return((state_val==syschar_val)?OVAL_RESULT_TRUE:OVAL_RESULT_FALSE); + }else if (operation==OPERATION_NOT_EQUAL){ + return((state_val!=syschar_val)?OVAL_RESULT_TRUE:OVAL_RESULT_FALSE); + }else if (operation==OPERATION_GREATER_THAN){ + return((syschar_val>state_val)?OVAL_RESULT_TRUE:OVAL_RESULT_FALSE); + }else if (operation==OPERATION_GREATER_THAN_OR_EQUAL){ + return((syschar_val>=state_val)?OVAL_RESULT_TRUE:OVAL_RESULT_FALSE); + }else if (operation==OPERATION_LESS_THAN){ + return((syschar_valtmp_state_int)return(OVAL_RESULT_TRUE); + if (tmp_sys_inttmp_state_int) return(OVAL_RESULT_FALSE); + }else{ +if (OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d invalid version comparison:%d\n",__FILE__,__LINE__,operation); + oval_errno=OVAL_INVALID_COMPARISON; + return(OVAL_RESULT_INVALID); + } + for(state_idx=(state_data[state_idx])?state_idx++:state_idx;((state_data[state_idx])&&(isdigit(state_data[state_idx])));++state_idx);// move to the next field within the version string (if there is one) + if ((state_data[state_idx])&&(!isdigit(state_data[state_idx])))++state_idx; + for(sys_idx=(sys_data[sys_idx])?++sys_idx:sys_idx;((sys_data[sys_idx])&&(isdigit(sys_data[sys_idx])));++sys_idx);// move to the next field within the version string (if there is one) + if ((sys_data[sys_idx])&&(!isdigit(sys_data[sys_idx])))++sys_idx; + } + // OK, we did not terminate early, and we're out of data, so we now know what to return + if (operation==OPERATION_EQUALS){ return(OVAL_RESULT_TRUE); + }else if (operation==OPERATION_NOT_EQUAL){ return(OVAL_RESULT_FALSE); + }else if (operation==OPERATION_GREATER_THAN){ return(OVAL_RESULT_FALSE); + }else if (operation==OPERATION_GREATER_THAN_OR_EQUAL){ return(OVAL_RESULT_TRUE); + }else if (operation==OPERATION_LESS_THAN){ return(OVAL_RESULT_FALSE); + }else if (operation==OPERATION_LESS_THAN_OR_EQUAL){ return(OVAL_RESULT_TRUE); }// we have already filtered out the invalid ones + }else{ + oval_errno=OVAL_UNSUPPORTED_DATATYPE; + return(-1); + } + return(OVAL_RESULT_UNKNOWN); +} -oval_result_enum _oval_result_test_result(struct oval_result_test *rtest) +// here we compare the data within an item with the conditions in a state +oval_result_t eval_item(struct oval_sysdata *cur_sysdata, struct oval_state *state) { - char *bo; - if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d\n",__FILE__,__LINE__); + struct oval_state_content_iterator *state_contents; + + if (state==NULL){ + bool has_more_items = false, syschar_status_exists = false; + struct oval_sysitem_iterator *cur_items=oval_sysdata_get_items(cur_sysdata); + while((has_more_items=oval_sysitem_iterator_has_more(cur_items))){ + struct oval_sysitem *tmp_item=oval_sysitem_iterator_next(cur_items); + if ((syschar_status_exists = oval_sysitem_get_status(tmp_item))==SYSCHAR_STATUS_EXISTS) + break;//return(OVAL_RESULT_TRUE); + } + if(has_more_items) + while(oval_sysitem_iterator_has_more(cur_items)) + oval_sysitem_iterator_next(cur_items); + return (syschar_status_exists)?OVAL_RESULT_TRUE:OVAL_RESULT_FALSE; + }else{ + state_contents=oval_state_get_contents(state); + } + bool has_more_content = false, has_error = false; + oval_result_t result = OVAL_RESULT_INVALID; + while(!has_error && (has_more_content=oval_state_content_iterator_has_more(state_contents))){ + struct oval_state_content *content; + struct oval_entity *state_entity; + struct oval_value *state_value; + char *state_entity_name; + bool iterator_is_not_empty; + int found_it; + + if (!has_error && (content=oval_state_content_iterator_next(state_contents))==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d found NULL state content\n",__FILE__,__LINE__); + oval_errno=OVAL_INTERNAL_ERROR; + has_error = true; + } + //state_entity=oval_state_content_entity(content); + if (!has_error && (state_entity=oval_state_content_get_entity(content))==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d found NULL entity\n",__FILE__,__LINE__); + oval_errno=OVAL_INTERNAL_ERROR; + has_error = true; + } + //state_entity_name=oval_entity_name(state_entity); + if (!has_error && (state_entity_name=oval_entity_get_name(state_entity))==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d found NULL entity name\n",__FILE__,__LINE__); + oval_errno=OVAL_INTERNAL_ERROR; + has_error = true; + } + if (!has_error && (state_value=oval_entity_get_value(state_entity))==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d found NULL entity value\n",__FILE__,__LINE__); + oval_errno=OVAL_INTERNAL_ERROR; + has_error = true; + } + if(!has_error){ + struct oval_sysitem_iterator *cur_items=oval_sysdata_get_items(cur_sysdata); + for(found_it=0;((iterator_is_not_empty = oval_sysitem_iterator_has_more(cur_items))&&(!found_it));){ + char *syschar_entity_name; + struct oval_sysitem *syschar_item; + + syschar_item=oval_sysitem_iterator_next(cur_items); + if (syschar_item==NULL){ + if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d found NULL sysitem\n",__FILE__,__LINE__); + oval_errno=OVAL_INTERNAL_ERROR; + has_error = true; + } + syschar_entity_name=oval_sysitem_get_name(syschar_item); + if (!strcmp(syschar_entity_name,state_entity_name)){ + found_it=1; + result=evaluate(oval_sysitem_get_value(syschar_item) + ,oval_value_get_text(state_value) + ,oval_sysitem_get_datatype(syschar_item) + ,oval_value_get_datatype(state_value) + ,oval_entity_get_operation(state_entity)); + // TODO: this does not cover all possible valid oval content + // come back and add support for none/all/only one/at least one.... + } + } + if(iterator_is_not_empty)while(oval_sysitem_iterator_has_more(cur_items))oval_sysitem_iterator_next(cur_items); + } + } + if(has_more_content) + while(oval_state_content_iterator_has_more(state_contents)) + oval_state_content_iterator_next(state_contents); + return (has_error)?-1:result; +} +//#define OVAL_RESULT_TEST_DEBUG 0 +//typedef enum { + //OVAL_RESULT_INVALID = 0, + //OVAL_RESULT_TRUE = 1, + //OVAL_RESULT_FALSE = 2, + //OVAL_RESULT_UNKNOWN = 3, + //OVAL_RESULT_ERROR = 4, + //OVAL_RESULT_NOT_EVALUATED = 5, + //OVAL_RESULT_NOT_APPLICABLE = 6 +//} oval_result_enum; +// here's where the actual OVAL business logic starts +oval_result_t evaluate_items(struct oval_syschar *syschar_object, struct oval_state *state,oval_check_t test_check,oval_existence_t test_existence_check) +{ + //int ci_idx; + int matches_found; + int am_done=0; + oval_result_t result; + struct oval_sysdata_iterator *collected_items_iterator; + + collected_items_iterator=oval_syschar_sysdata(syschar_object); + if (collected_items_iterator==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d collected items iterator is null\n",__FILE__,__LINE__); + oval_errno=OVAL_INVALID_ARGUMENT; + return(-1); + } + + result = OVAL_RESULT_INVALID; + bool has_more_sysdata, has_error = false; + if ((has_more_sysdata = oval_sysdata_iterator_has_more(collected_items_iterator))){// this is all I have seen of the existence stuff... + if ((test_check==OVAL_CHECK_NONE_EXIST)||(test_existence_check==NONE_EXIST)){ + am_done=1; + result=OVAL_RESULT_FALSE; + } + } + if(has_more_sysdata){ + for(matches_found=0;(am_done==0)&&(!has_error) && (has_more_sysdata=oval_sysdata_iterator_has_more(collected_items_iterator));){ + struct oval_sysdata *cur_sysdata; + oval_syschar_status_t cur_sysdata_status; + + cur_sysdata=oval_sysdata_iterator_next(collected_items_iterator); + if (cur_sysdata==NULL){ + if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d iterator returned null\n",__FILE__,__LINE__); + oval_errno=OVAL_INTERNAL_ERROR; + has_error = true; + } + cur_sysdata_status=oval_sysdata_get_status(cur_sysdata); + if (cur_sysdata_status==SYSCHAR_STATUS_UNKNOWN){ + result=OVAL_RESULT_UNKNOWN; + }else if (cur_sysdata_status==SYSCHAR_STATUS_ERROR){ + result=OVAL_RESULT_ERROR; + }else if (cur_sysdata_status==SYSCHAR_STATUS_EXISTS){ // found one, eval this item + result=eval_item(cur_sysdata,state); + // we know one result, sometimes we can use that to make the full determination + if (result==OVAL_RESULT_TRUE){ + ++matches_found; + if (test_check==OVAL_CHECK_AT_LEAST_ONE){ + result=OVAL_RESULT_TRUE; + am_done=1; + }else if ((test_check==OVAL_CHECK_ONLY_ONE)&&(matches_found>0)){ + result=OVAL_RESULT_FALSE; + am_done=1; + }else if (test_check==OVAL_CHECK_NONE_SATISFY){ + result=OVAL_RESULT_FALSE; + am_done=1; + } + }else if (result==OVAL_RESULT_FALSE){ + if (test_check==OVAL_CHECK_ALL){ + result=OVAL_RESULT_FALSE; + am_done=1; + } + }else if (result==OVAL_RESULT_INVALID){// the OVAL truth table does not include 'INVALID' so I'm ignoring it for now... + }else if (result==OVAL_RESULT_UNKNOWN){ + result=OVAL_RESULT_UNKNOWN; + am_done=1; + }else if (result==OVAL_RESULT_ERROR){ + result=OVAL_RESULT_ERROR; + am_done=1; + }else if (result==OVAL_RESULT_NOT_EVALUATED){ + result=OVAL_RESULT_NOT_EVALUATED; + am_done=1; + }else if (result==OVAL_RESULT_NOT_APPLICABLE){ + result=OVAL_RESULT_NOT_APPLICABLE; + am_done=1; + }else{ + } + }else if (cur_sysdata_status==SYSCHAR_STATUS_DOES_NOT_EXIST){ + result=OVAL_RESULT_FALSE; + }else if (cur_sysdata_status==SYSCHAR_STATUS_NOT_COLLECTED){ + result=OVAL_RESULT_NOT_EVALUATED; + }else{ + if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d invalid sysdata status:%d\n",__FILE__,__LINE__,cur_sysdata_status); + oval_errno=OVAL_INVALID_ARGUMENT; + has_error = true; + } + } + } +// OK, we have looked at all our collected items and matched them against any states, with no early termination + // we now know how to set our final result + if ((test_check==OVAL_CHECK_ONLY_ONE)&&(matches_found==1)){ + result=OVAL_RESULT_TRUE; + }else if (test_check==OVAL_CHECK_NONE_SATISFY){// since we did not terminate early, all we have are falses + result=OVAL_RESULT_TRUE; + }else if ((test_check==OVAL_CHECK_ALL)&&(matches_found>0)){// since we did not terminate early, all we found were true + result=OVAL_RESULT_TRUE; + }else{// all the 'true' conditions should be covered above, so if we get here, our result is... + result=OVAL_RESULT_FALSE; + } + if(has_more_sysdata) + while(oval_sysdata_iterator_has_more(collected_items_iterator)) + oval_sysdata_iterator_next(collected_items_iterator); + return (has_error)?-1:result; +} + +// this function will gather all the necessary ingredients and call 'evaluate_items' when it finds them +oval_result_t _oval_result_test_result(struct oval_result_test *rtest) +{ + // NOTE: I'm defining all my variables at the beginning of a block because some compilers (cl) have trouble + // with variables defined anywhere else. If that's not a concern, refactor at will. + struct oval_object *tmp_obj; + struct oval_state *tmp_state; + char *test_id_string; + struct oval_test *test2check; + struct oval_result_system *system; + struct oval_syschar_model *syschar_model; + + oval_check_t test_check; + oval_existence_t test_check_existence; + test2check = oval_result_test_get_test(rtest); + system = oval_result_test_get_system(rtest); + syschar_model = oval_result_system_get_syschar_model(system); if (rtest==NULL){ oval_errno=OVAL_INVALID_ARGUMENT; return(-1); } - if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d\n",__FILE__,__LINE__); - oval_result_enum result = OVAL_RESULT_TRUE;//TODO: INVALIDATE RESULT INITIALIZATION - struct oval_test *test2check = oval_result_test_test(rtest); - if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d\n",__FILE__,__LINE__); - struct oval_result_system *system = oval_result_test_system(rtest); - if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d\n",__FILE__,__LINE__); - struct oval_syschar_model *syschar_model = oval_result_system_syschar_model(system); + // first, let's see if we already did the test + if (rtest->result!=OVAL_RESULT_INVALID){ + return(rtest->result); + } + oval_result_t result = OVAL_RESULT_INVALID; // let's go looking for the stuff to test - if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d\n",__FILE__,__LINE__); if (test2check==NULL){ oval_errno=OVAL_INVALID_ARGUMENT; return(-1); } - if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d survived the if\n",__FILE__,__LINE__); - bo=oval_subtype_text(oval_test_subtype(test2check)); - if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d\n",__FILE__,__LINE__); - if(OVAL_RESULT_TEST_DEBUG)if (bo==NULL)fprintf(stderr,"%s:%d oval test name is null\n",__FILE__,__LINE__); - bo=oval_test_id(test2check); - if(OVAL_RESULT_TEST_DEBUG){ - fprintf(stderr,"%s:%d\n",__FILE__,__LINE__); - if (bo==NULL)fprintf(stderr,"%s:%d oval test id is null\n",__FILE__,__LINE__); - else fprintf(stderr,"%s:%d oval test id:'%s'\n",__FILE__,__LINE__,bo); - fprintf(stderr,"%s:%d found test:'%s'",__FILE__,__LINE__,oval_subtype_text(oval_test_subtype(test2check))); - } - if (oval_test_object(test2check)==NULL){ + test_id_string=oval_test_get_id(test2check); + if (test_id_string==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d oval test id is null\n",__FILE__,__LINE__); oval_errno=OVAL_INVALID_ARGUMENT; return(-1); } - if(OVAL_RESULT_TEST_DEBUG){ - fprintf(stderr,"%s:%d looking at object:'%s'\n",__FILE__,__LINE__,oval_object_id(oval_test_object(test2check))); + test_check=oval_test_get_check(test2check); + test_check_existence=oval_test_get_existence(test2check); + tmp_obj=oval_test_get_object(test2check); + tmp_state=oval_test_get_state(test2check); + if (tmp_obj==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d oval object is null\n",__FILE__,__LINE__); + oval_errno=OVAL_INVALID_ARGUMENT; + return(-1); + } else { // I'm doing the else here to keep some of my local variables more local + char *definition_object_id_string; + struct oval_syschar *syschar_object; + definition_object_id_string=oval_object_get_id(tmp_obj); + if (definition_object_id_string==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d oval object has null ID\n",__FILE__,__LINE__); + oval_errno=OVAL_INVALID_ARGUMENT; + return(-1); + } + // OK, we have our object ID, now use that to find selected items in the syschar_model + syschar_object=oval_syschar_model_get_syschar(syschar_model,definition_object_id_string); + if (syschar_object==NULL){ +if(OVAL_RESULT_TEST_DEBUG)fprintf(stderr,"%s:%d system characteristics object is null\n",__FILE__,__LINE__); + oval_errno=OVAL_INVALID_ARGUMENT; + return(-1); + } + // FINALLY, we have all the pieces, now figure out the result + result=evaluate_items(syschar_object,tmp_state,test_check,test_check_existence); } return result; } -oval_result_enum oval_result_test_result(struct oval_result_test *rtest) +oval_result_t oval_result_test_get_result(struct oval_result_test *rtest) { + if(rtest->result==OVAL_RESULT_INVALID){ rtest->result = _oval_result_test_result(rtest); + if(rtest->result==-1)rtest->result=OVAL_RESULT_UNKNOWN; } return rtest->result; } -int oval_result_test_instance(struct oval_result_test *rtest) +int oval_result_test_get_instance(struct oval_result_test *rtest) { return rtest->instance; } -struct oval_message *oval_result_test_message(struct oval_result_test *rtest) +struct oval_message *oval_result_test_get_message(struct oval_result_test *rtest) { return ((struct oval_result_test *)rtest)->message; } -struct oval_iterator_result_item *oval_result_test_items(struct oval_result_test +struct oval_result_item_iterator *oval_result_test_get_items(struct oval_result_test *rtest) { - return (struct oval_iterator_result_item *) + return (struct oval_result_item_iterator *) oval_collection_iterator(rtest->items); } -struct oval_iterator_variable_binding *oval_result_test_bindings(struct oval_result_test +struct oval_variable_binding_iterator *oval_result_test_get_bindings(struct oval_result_test *rtest) { - return (struct oval_iterator_variable_binding *) + return (struct oval_variable_binding_iterator *) oval_collection_iterator(rtest->bindings); } -void set_oval_result_test_result(struct oval_result_test *test, oval_result_enum result) +void set_oval_result_test_result(struct oval_result_test *test, oval_result_t result) { test->result = result; } @@ -241,8 +626,8 @@ xmlChar *variable_id = xmlTextReaderGetAttribute(reader, "variable_id"); - struct oval_syschar_model *syschar_model = oval_result_system_syschar_model(SYSTEM); - struct oval_object_model *object_model = oval_syschar_model_object_model + struct oval_syschar_model *syschar_model = oval_result_system_get_syschar_model(SYSTEM); + struct oval_object_model *object_model = oval_syschar_model_get_object_model (syschar_model); struct oval_variable *variable = get_oval_variable_new (object_model, variable_id, OVAL_VARIABLE_UNKNOWN); @@ -304,17 +689,17 @@ xmlChar *test_id = xmlTextReaderGetAttribute(reader, "test_id"); struct oval_result_test *test = oval_result_test_new(system, test_id); - oval_result_enum result = oval_result_parse(reader, "result",0); + oval_result_t result = oval_result_parse(reader, "result",0); set_oval_result_test_result(test, result); int veriable_instance = oval_parser_int_attribute(reader, "veriable_instance", 1); set_oval_result_test_instance(test, veriable_instance); - struct oval_test *ovaltst = oval_result_test_test(test); + struct oval_test *ovaltst = oval_result_test_get_test(test); - oval_existence_enum check_existence = oval_existence_parse + oval_existence_t check_existence = oval_existence_parse (reader,"check_existence",AT_LEAST_ONE_EXISTS); - oval_existence_enum tst_check_existence - = oval_test_existence(ovaltst); + oval_existence_t tst_check_existence + = oval_test_get_existence(ovaltst); if(tst_check_existence==EXISTENCE_UNKNOWN){ set_oval_test_existence(ovaltst, check_existence); }else if(tst_check_existence!=tst_check_existence){ @@ -329,10 +714,10 @@ oval_parser_log_warn(context, message); } - oval_check_enum check = oval_check_parse + oval_check_t check = oval_check_parse (reader, "check",OVAL_CHECK_UNKNOWN); - oval_check_enum tst_check - = oval_test_check(ovaltst); + oval_check_t tst_check + = oval_test_get_check(ovaltst); if(tst_check==OVAL_CHECK_UNKNOWN){ set_oval_test_check(ovaltst, check); }else if(tst_check!=check){ @@ -348,7 +733,7 @@ } int version = oval_parser_int_attribute(reader, "version",0); - int tst_version = oval_test_version(ovaltst); + int tst_version = oval_test_get_version(ovaltst); if(tst_version==0){ set_oval_test_version(ovaltst, version); }else if(tst_version!=version){ @@ -378,12 +763,12 @@ xmlNode *_oval_result_binding_to_dom (struct oval_variable_binding *binding, xmlDocPtr doc, xmlNode *parent) { - char *value = oval_variable_binding_value(binding); + char *value = oval_variable_binding_get_value(binding); xmlNs *ns_results = xmlSearchNsByHref(doc, parent, OVAL_RESULTS_NAMESPACE); xmlNode *binding_node = xmlNewChild(parent, ns_results, "tested_variable", value); - struct oval_variable *oval_variable = oval_variable_binding_variable(binding); - char *variable_id = oval_variable_id(oval_variable); + struct oval_variable *oval_variable = oval_variable_binding_get_variable(binding); + char *variable_id = oval_variable_get_id(oval_variable); xmlNewProp(binding_node, "variable_id", variable_id); return binding_node; @@ -396,41 +781,41 @@ xmlNs *ns_results = xmlSearchNsByHref(doc, parent, OVAL_RESULTS_NAMESPACE); xmlNode *test_node = xmlNewChild(parent, ns_results, "test", NULL); - struct oval_test *oval_test = oval_result_test_test(rslt_test); - char *test_id = oval_test_id(oval_test); + struct oval_test *oval_test = oval_result_test_get_test(rslt_test); + char *test_id = oval_test_get_id(oval_test); xmlNewProp(test_node, "test_id", test_id); char version[10]; *version = '\0'; - snprintf(version, sizeof(version), "%d", oval_test_version(oval_test)); + snprintf(version, sizeof(version), "%d", oval_test_get_version(oval_test)); xmlNewProp(test_node, "version", version); - oval_existence_enum existence = oval_test_existence(oval_test); + oval_existence_t existence = oval_test_get_existence(oval_test); if(existence!=AT_LEAST_ONE_EXISTS){ xmlNewProp(test_node, "check_existence", oval_existence_text(existence)); } - oval_check_enum check = oval_test_check(oval_test); + oval_check_t check = oval_test_get_check(oval_test); xmlNewProp(test_node, "check", oval_check_text(check)); - int instance_val = oval_result_test_instance(rslt_test); + int instance_val = oval_result_test_get_instance(rslt_test); if(instance_val>1){ char instance[10]; *instance = '\0'; snprintf(instance, sizeof(instance), "%d", instance_val); xmlNewProp(test_node, "variable_instance", instance); } - oval_result_enum result = oval_result_test_result(rslt_test); + oval_result_t result = oval_result_test_get_result(rslt_test); xmlNewProp(test_node, "result", oval_result_text(result)); - struct oval_iterator_result_item *items = oval_result_test_items(rslt_test); - while(oval_iterator_result_item_has_more(items)){ - struct oval_result_item *item = oval_iterator_result_item_next(items); + struct oval_result_item_iterator *items = oval_result_test_get_items(rslt_test); + while(oval_result_item_iterator_has_more(items)){ + struct oval_result_item *item = oval_result_item_iterator_next(items); oval_result_item_to_dom(item, doc, test_node); } - struct oval_iterator_variable_binding *bindings = oval_result_test_bindings(rslt_test); - while(oval_iterator_variable_binding_has_more(bindings)){ - struct oval_variable_binding *binding = oval_iterator_variable_binding_next(bindings); + struct oval_variable_binding_iterator *bindings = oval_result_test_get_bindings(rslt_test); + while(oval_variable_binding_iterator_has_more(bindings)){ + struct oval_variable_binding *binding = oval_variable_binding_iterator_next(bindings); _oval_result_binding_to_dom(binding, doc, test_node); } diff -u -r a/src/OVAL/oval_results_impl.h b/src/OVAL/oval_results_impl.h --- a/src/OVAL/oval_results_impl.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_results_impl.h 2009-09-21 17:13:16 -0400 @@ -63,7 +63,8 @@ (xmlTextReaderPtr , struct oval_parser_context *,struct oval_result_system *, oscap_consumer_func, void*); xmlNode *oval_result_definition_to_dom - (struct oval_result_definition *, xmlDocPtr, xmlNode *); + (struct oval_result_definition *, oval_result_directive_content_t, + xmlDocPtr, xmlNode *); struct oval_result_test *oval_result_test_new(struct oval_result_system *, char *); void oval_result_test_free(struct oval_result_test *); @@ -106,15 +107,15 @@ xmlNode *oval_result_item_to_dom (struct oval_result_item *, xmlDocPtr , xmlNode *); -void set_oval_result_item_result(struct oval_result_item *, oval_result_enum); +void set_oval_result_item_result(struct oval_result_item *, oval_result_t); void add_oval_result_item_message(struct oval_result_item *, struct oval_message *); struct oval_result_test *oval_result_test_new(); void oval_result_test_free(struct oval_result_test *); void set_oval_result_test_test(struct oval_result_test *, struct oval_test *); -void set_oval_result_test_check(struct oval_result_test *, oval_check_enum); -void set_oval_result_test_result(struct oval_result_test *, oval_result_enum); +void set_oval_result_test_check(struct oval_result_test *, oval_check_t); +void set_oval_result_test_result(struct oval_result_test *, oval_result_t); void set_oval_result_test_message(struct oval_result_test *, struct oval_message *); void add_oval_result_test_item (struct oval_result_test *, struct oval_result_item *); @@ -123,7 +124,7 @@ struct oval_result_criteria_node *oval_result_criteria_node_new - (oval_criteria_node_type_enum, int, ...); + (oval_criteria_node_type_t, int, ...); void oval_result_criteria_node_free(struct oval_result_criteria_node *); struct oval_result_criteria_node *make_result_criteria_node_from_oval_criteria_node (struct oval_result_system *, struct oval_criteria_node *); @@ -135,12 +136,12 @@ (struct oval_result_criteria_node *, xmlDocPtr, xmlNode *); void set_oval_result_criteria_node_type(struct oval_result_criteria_node *, - oval_criteria_node_type_enum); + oval_criteria_node_type_t); void set_oval_result_criteria_node_result - (struct oval_result_criteria_node *, oval_result_enum); + (struct oval_result_criteria_node *, oval_result_t); void set_oval_result_criteria_node_negate (struct oval_result_criteria_node *, bool); -void set_oval_result_criteria_node_operator(struct oval_result_criteria_node *, oval_operator_enum); //type==NODETYPE_CRITERIA +void set_oval_result_criteria_node_operator(struct oval_result_criteria_node *, oval_operator_t); //type==NODETYPE_CRITERIA void add_oval_result_criteria_node_subnode(struct oval_result_criteria_node *, struct oval_result_criteria_node *); //type==NODETYPE_CRITERIA void set_oval_result_criteria_node_test(struct oval_result_criteria_node *, struct oval_result_test *); //type==NODETYPE_CRITERION void set_oval_result_criteria_node_extends(struct oval_result_criteria_node *, struct oval_result_definition *); //type==NODETYPE_EXTENDDEF @@ -149,15 +150,15 @@ void oval_result_free(struct oval_result *); void set_oval_result_definition(struct oval_result *, struct oval_definition *); -void set_oval_result_result(struct oval_result *, oval_result_enum); +void set_oval_result_result(struct oval_result *, oval_result_t); void set_oval_result_message(struct oval_result *, char *); void set_oval_result_directives(struct oval_result *, struct oval_result_directives *); void set_oval_result_criteria(struct oval_result *, struct oval_result_criteria_node *); -oval_result_enum oval_result_parse - (xmlTextReaderPtr, char *, oval_result_enum); -const char * oval_result_text(oval_result_enum); +oval_result_t oval_result_parse + (xmlTextReaderPtr, char *, oval_result_t); +const char * oval_result_text(oval_result_t); #endif /* OVAL_RESULTS_IMPL_H_ */ diff -u -r a/src/OVAL/oval_results_parser.c b/src/OVAL/oval_results_parser.c --- a/src/OVAL/oval_results_parser.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_results_parser.c 2009-09-21 14:44:09 -0400 @@ -153,7 +153,7 @@ context.error_handler = eh; context.reader = reader; context.results_model = model; - context.object_model = oval_results_model_object_model(model); + context.object_model = oval_results_model_get_object_model(model); context.syschar_sysinfo = NULL; context.user_data = user_arg; xmlTextReaderSetErrorHandler(reader, &libxml_error_handler, &context); @@ -171,7 +171,5 @@ oval_parser_log_warn(&context, message); oval_parser_skip_tag(reader,&context); } - free(tagname); - free(namespace); return *directives; } diff -u -r a/src/OVAL/oval_set.c b/src/OVAL/oval_set.c --- a/src/OVAL/oval_set.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_set.c 2009-09-21 17:14:20 -0400 @@ -35,8 +35,8 @@ #include "oval_agent_api_impl.h" typedef struct oval_set { - oval_set_type_enum type; - oval_set_operation_enum operation; + oval_set_type_t type; + oval_set_operation_t operation; void *extension; } oval_set_t; @@ -49,52 +49,52 @@ struct oval_collection *filters; //type==OVAL_SET_COLLECTIVE; } oval_set_COLLECTIVE_t; -int oval_iterator_set_has_more(struct oval_iterator_set *oc_set) +int oval_set_iterator_has_more(struct oval_set_iterator *oc_set) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_set); } -struct oval_set *oval_iterator_set_next(struct oval_iterator_set *oc_set) +struct oval_set *oval_set_iterator_next(struct oval_set_iterator *oc_set) { return (struct oval_set *) oval_collection_iterator_next((struct oval_iterator *)oc_set); } -oval_set_type_enum oval_set_type(struct oval_set *set) +oval_set_type_t oval_set_get_type(struct oval_set *set) { return (set)->type; } -oval_set_operation_enum oval_set_operation(struct oval_set * set) +oval_set_operation_t oval_set_get_operation(struct oval_set * set) { return ((struct oval_set *)set)->operation; } -struct oval_iterator_set *oval_set_subsets(struct oval_set *set) +struct oval_set_iterator *oval_set_get_subsets(struct oval_set *set) { //type==OVAL_SET_AGGREGATE; struct oval_set_AGGREGATE *aggregate = (struct oval_set_AGGREGATE *)set->extension; - return (struct oval_iterator_set *)oval_collection_iterator(aggregate-> + return (struct oval_set_iterator *)oval_collection_iterator(aggregate-> subsets); } -struct oval_iterator_object *oval_set_objects(struct oval_set *set) +struct oval_object_iterator *oval_set_get_objects(struct oval_set *set) { //type==OVAL_SET_COLLECTIVE; struct oval_set_COLLECTIVE *collective = (struct oval_set_COLLECTIVE *)set->extension; - return (struct oval_iterator_object *) + return (struct oval_object_iterator *) oval_collection_iterator(collective->objects); } -struct oval_iterator_state *oval_set_filters(struct oval_set *set) +struct oval_state_iterator *oval_set_get_filters(struct oval_set *set) { //type==OVAL_SET_COLLECTIVE; struct oval_set_COLLECTIVE *collective = (struct oval_set_COLLECTIVE *)set->extension; - return (struct oval_iterator_state *) + return (struct oval_state_iterator *) oval_collection_iterator(collective->filters); } @@ -135,7 +135,7 @@ free(set); } -void set_oval_set_type(struct oval_set *set, oval_set_type_enum type) +void set_oval_set_type(struct oval_set *set, oval_set_type_t type) { set->type = type; switch (type) { @@ -161,7 +161,7 @@ } void set_oval_set_operation(struct oval_set *set, - oval_set_operation_enum operation) + oval_set_operation_t operation) { set->operation = operation; } @@ -268,7 +268,7 @@ xmlChar *namespace = xmlTextReaderNamespaceUri(reader); struct oval_set *set = oval_set_new(); - oval_set_operation_enum operation = + oval_set_operation_t operation = oval_set_operation_parse(reader, "set_operator", OVAL_SET_OPERATION_UNION); set_oval_set_operation(set, operation); @@ -296,34 +296,34 @@ snprintf(nxtindent, sizeof(nxtindent), "%sSET[%d].", indent, idx); - printf("%sOPERATOR = %d\n", nxtindent, oval_set_operation(set)); - printf("%sTYPE = %d\n", nxtindent, oval_set_type(set)); + printf("%sOPERATOR = %d\n", nxtindent, oval_set_get_operation(set)); + printf("%sTYPE = %d\n", nxtindent, oval_set_get_type(set)); - switch (oval_set_type(set)) { + switch (oval_set_get_type(set)) { case OVAL_SET_AGGREGATE:{ - struct oval_iterator_set *subsets = - oval_set_subsets(set); + struct oval_set_iterator *subsets = + oval_set_get_subsets(set); int i; - for (i = 1; oval_iterator_set_has_more(subsets); i++) { + for (i = 1; oval_set_iterator_has_more(subsets); i++) { struct oval_set *subset = - oval_iterator_set_next(subsets); + oval_set_iterator_next(subsets); oval_set_to_print(subset, nxtindent, i); } } break; case OVAL_SET_COLLECTIVE:{ - struct oval_iterator_object *objects = - oval_set_objects(set); + struct oval_object_iterator *objects = + oval_set_get_objects(set); int i; - for (i = 1; oval_iterator_object_has_more(objects); i++) { + for (i = 1; oval_object_iterator_has_more(objects); i++) { struct oval_object *object = - oval_iterator_object_next(objects); + oval_object_iterator_next(objects); oval_object_to_print(object, nxtindent, i); } - struct oval_iterator_state *states = - oval_set_filters(set); - for (i = 1; oval_iterator_state_has_more(states); i++) { + struct oval_state_iterator *states = + oval_set_get_filters(set); + for (i = 1; oval_state_iterator_has_more(states); i++) { struct oval_state *state = - oval_iterator_state_next(states); + oval_state_iterator_next(states); oval_state_to_print(state, nxtindent, i); } } break; @@ -338,32 +338,32 @@ ns_definitions = xmlNewNs(parent, OVAL_DEFINITIONS_NAMESPACE, NULL); xmlNode *set_node = xmlNewChild(parent, ns_definitions, BAD_CAST "set", NULL); - oval_set_operation_enum operation = oval_set_operation(set); + oval_set_operation_t operation = oval_set_get_operation(set); if(operation!=OVAL_SET_OPERATION_UNION) xmlNewProp(set_node, "set_operator", oval_set_operation_text(operation)); - switch(oval_set_type(set)) + switch(oval_set_get_type(set)) { case OVAL_SET_AGGREGATE:{ - struct oval_iterator_set *subsets = oval_set_subsets(set); - while(oval_iterator_set_has_more(subsets)) + struct oval_set_iterator *subsets = oval_set_get_subsets(set); + while(oval_set_iterator_has_more(subsets)) { - struct oval_set *subset = oval_iterator_set_next(subsets); + struct oval_set *subset = oval_set_iterator_next(subsets); oval_set_to_dom(subset, doc, set_node); } }break; case OVAL_SET_COLLECTIVE:{ - struct oval_iterator_object *objects = oval_set_objects(set); - while(oval_iterator_object_has_more(objects)){ - struct oval_object *object = oval_iterator_object_next(objects); - char* id = oval_object_id(object); + struct oval_object_iterator *objects = oval_set_get_objects(set); + while(oval_object_iterator_has_more(objects)){ + struct oval_object *object = oval_object_iterator_next(objects); + char* id = oval_object_get_id(object); xmlNewChild(set_node, ns_definitions, BAD_CAST "object_reference", id); } - struct oval_iterator_state *filters = oval_set_filters(set); - while(oval_iterator_state_has_more(filters)) + struct oval_state_iterator *filters = oval_set_get_filters(set); + while(oval_state_iterator_has_more(filters)) { - struct oval_state *filter = oval_iterator_state_next(filters); - char *id = oval_state_id(filter); + struct oval_state *filter = oval_state_iterator_next(filters); + char *id = oval_state_get_id(filter); xmlNewChild(set_node, ns_definitions, BAD_CAST "filter", id); } }break; diff -u -r a/src/OVAL/oval_state.c b/src/OVAL/oval_state.c --- a/src/OVAL/oval_state.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_state.c 2009-09-21 17:09:54 -0400 @@ -35,7 +35,7 @@ #include "oval_agent_api_impl.h" typedef struct oval_state { - oval_subtype_enum subtype; + oval_subtype_t subtype; char *name; char *comment; char *id; @@ -45,62 +45,62 @@ struct oval_collection *contents; } oval_state_t; -int oval_iterator_state_has_more(struct oval_iterator_state *oc_state) +int oval_state_iterator_has_more(struct oval_state_iterator *oc_state) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_state); } -struct oval_state *oval_iterator_state_next(struct oval_iterator_state +struct oval_state *oval_state_iterator_next(struct oval_state_iterator *oc_state) { return (struct oval_state *) oval_collection_iterator_next((struct oval_iterator *)oc_state); } -oval_family_enum oval_state_family(struct oval_state *state) +oval_family_t oval_state_get_family(struct oval_state *state) { - return (oval_state_subtype(state)/1000)*1000; + return (oval_state_get_subtype(state)/1000)*1000; } -oval_subtype_enum oval_state_subtype(struct oval_state * state) +oval_subtype_t oval_state_get_subtype(struct oval_state * state) { return ((struct oval_state *)state)->subtype; } -char *oval_state_name(struct oval_state *state) +char *oval_state_get_name(struct oval_state *state) { return ((struct oval_state *)state)->name; } -struct oval_iterator_string *oval_state_notes(struct oval_state *state) +struct oval_string_iterator *oval_state_get_notes(struct oval_state *state) { - return (struct oval_iterator_string *)oval_collection_iterator(state-> + return (struct oval_string_iterator *)oval_collection_iterator(state-> notes); } -struct oval_iterator_state_content *oval_state_contents(struct oval_state *state) +struct oval_state_content_iterator *oval_state_get_contents(struct oval_state *state) { - return (struct oval_iterator_state_content *) + return (struct oval_state_content_iterator *) oval_collection_iterator(state->contents); } -char *oval_state_comment(struct oval_state *state) +char *oval_state_get_comment(struct oval_state *state) { return ((struct oval_state *)state)->comment; } -char *oval_state_id(struct oval_state *state) +char *oval_state_get_id(struct oval_state *state) { return ((struct oval_state *)state)->id; } -int oval_state_deprecated(struct oval_state *state) +int oval_state_get_deprecated(struct oval_state *state) { return ((struct oval_state *)state)->deprecated; } -int oval_state_version(struct oval_state *state) +int oval_state_get_version(struct oval_state *state) { return state->version; } @@ -138,7 +138,7 @@ free(state); } -void set_oval_state_subtype(struct oval_state *state, oval_subtype_enum subtype) +void set_oval_state_subtype(struct oval_state *state, oval_subtype_t subtype) { state->subtype = subtype; } @@ -226,7 +226,7 @@ char *id = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "id"); struct oval_state *state = get_oval_state_new(model, id); free(id); - oval_subtype_enum subtype = oval_subtype_parse(reader); + oval_subtype_t subtype = oval_subtype_parse(reader); set_oval_state_subtype(state, subtype); char *comm = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "comment"); if(comm!=NULL){ @@ -257,29 +257,29 @@ else snprintf(nxtindent, sizeof(nxtindent), "%sSTATE[%d].", indent, idx); - printf("%sID = %s\n", nxtindent, oval_state_id(state)); - printf("%sFAMILY = %d\n", nxtindent, oval_state_family(state)); - printf("%sSUBTYPE = %d\n", nxtindent, oval_state_subtype(state)); - printf("%sVERSION = %d\n", nxtindent, oval_state_version(state)); - printf("%sCOMMENT = %s\n", nxtindent, oval_state_comment(state)); - printf("%sDEPRECATED = %d\n", nxtindent, oval_state_deprecated(state)); - struct oval_iterator_string *notes = oval_state_notes(state); - for (idx = 1; oval_iterator_string_has_more(notes); idx++) { + printf("%sID = %s\n", nxtindent, oval_state_get_id(state)); + printf("%sFAMILY = %d\n", nxtindent, oval_state_get_family(state)); + printf("%sSUBTYPE = %d\n", nxtindent, oval_state_get_subtype(state)); + printf("%sVERSION = %d\n", nxtindent, oval_state_get_version(state)); + printf("%sCOMMENT = %s\n", nxtindent, oval_state_get_comment(state)); + printf("%sDEPRECATED = %d\n", nxtindent, oval_state_get_deprecated(state)); + struct oval_string_iterator *notes = oval_state_get_notes(state); + for (idx = 1; oval_string_iterator_has_more(notes); idx++) { printf("%sNOTE[%d] = %s\n", nxtindent, idx, - oval_iterator_string_next(notes)); + oval_string_iterator_next(notes)); } } xmlNode *oval_state_to_dom (struct oval_state *state, xmlDoc *doc, xmlNode *parent) { - oval_subtype_enum subtype = oval_state_subtype(state); - const char *subtype_text = oval_subtype_text(subtype); + oval_subtype_t subtype = oval_state_get_subtype(state); + const char *subtype_text = oval_subtype_get_text(subtype); char state_name[strlen(subtype_text)+7]; *state_name = '\0'; strcat(strcat(state_name, subtype_text), "_state"); xmlNode *state_node = xmlNewChild(parent, NULL, state_name, NULL); - oval_family_enum family = oval_state_family(state); - const char *family_text = oval_family_text(family); + oval_family_t family = oval_state_get_family(state); + const char *family_text = oval_family_get_text(family); char family_uri[strlen(OVAL_DEFINITIONS_NAMESPACE)+strlen(family_text)+2]; *family_uri = '\0'; strcat(strcat(strcat(family_uri, OVAL_DEFINITIONS_NAMESPACE),"#"),family_text); @@ -287,34 +287,34 @@ xmlSetNs(state_node, ns_family); - char *id = oval_state_id(state); + char *id = oval_state_get_id(state); xmlNewProp(state_node, "id", id); char version[10]; *version = '\0'; - snprintf(version, sizeof(version), "%d", oval_state_version(state)); + snprintf(version, sizeof(version), "%d", oval_state_get_version(state)); xmlNewProp(state_node, "version", version); - char *comment = oval_state_comment(state); + char *comment = oval_state_get_comment(state); if(comment)xmlNewProp(state_node, "comment", comment); - bool deprecated = oval_state_deprecated(state); + bool deprecated = oval_state_get_deprecated(state); if(deprecated) xmlNewProp(state_node, "deprecated", "true"); - struct oval_iterator_string *notes = oval_state_notes(state); - if(oval_iterator_string_has_more(notes)){ + struct oval_string_iterator *notes = oval_state_get_notes(state); + if(oval_string_iterator_has_more(notes)){ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *notes_node = xmlNewChild(state_node, ns_definitions, "notes", NULL); - while(oval_iterator_string_has_more(notes)){ - char *note = oval_iterator_string_next(notes); + while(oval_string_iterator_has_more(notes)){ + char *note = oval_string_iterator_next(notes); xmlNewChild(notes_node, ns_definitions, "note", note); } } - struct oval_iterator_state_content *contents = oval_state_contents(state); - while(oval_iterator_state_content_has_more(contents)) + struct oval_state_content_iterator *contents = oval_state_get_contents(state); + while(oval_state_content_iterator_has_more(contents)) { - struct oval_state_content *content = oval_iterator_state_content_next(contents); + struct oval_state_content *content = oval_state_content_iterator_next(contents); oval_state_content_to_dom(content, doc, state_node); } return state_node; diff -u -r a/src/OVAL/oval_stateContent.c b/src/OVAL/oval_stateContent.c --- a/src/OVAL/oval_stateContent.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_stateContent.c 2009-09-21 17:13:16 -0400 @@ -36,19 +36,19 @@ typedef struct oval_state_content { struct oval_entity *entity; - oval_check_enum ent_check; - oval_check_enum var_check; + oval_check_t ent_check; + oval_check_t var_check; } oval_state_content_t; -int oval_iterator_state_content_has_more(struct oval_iterator_state_content +int oval_state_content_iterator_has_more(struct oval_state_content_iterator *oc_state_content) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_state_content); } -struct oval_state_content *oval_iterator_state_content_next(struct - oval_iterator_state_content +struct oval_state_content *oval_state_content_iterator_next(struct + oval_state_content_iterator *oc_state_content) { return (struct oval_state_content *) @@ -56,19 +56,19 @@ oc_state_content); } -struct oval_entity *oval_state_content_entity(struct oval_state_content +struct oval_entity *oval_state_content_get_entity(struct oval_state_content *content) { return content->entity; } -oval_check_enum oval_state_content_var_check(struct oval_state_content * +oval_check_t oval_state_content_get_var_check(struct oval_state_content * content) { return content->var_check; } -oval_check_enum oval_state_content_ent_check(struct oval_state_content * +oval_check_t oval_state_content_get_ent_check(struct oval_state_content * content) { return content->ent_check; @@ -96,12 +96,12 @@ content->entity = entity; } -void set_oval_state_content_var_check(struct oval_state_content *content, oval_check_enum check) +void set_oval_state_content_var_check(struct oval_state_content *content, oval_check_t check) { content->var_check = check; } -void set_oval_state_content_ent_check(struct oval_state_content *content, oval_check_enum check) +void set_oval_state_content_ent_check(struct oval_state_content *content, oval_check_t check) { content->ent_check = check; } @@ -120,8 +120,8 @@ int retcode = oval_entity_parse_tag (reader, context, (oscap_consumer_func)_oval_state_content_entity_consumer, content); - oval_check_enum var_check = oval_check_parse(reader, "var_check" , OVAL_CHECK_ALL); - oval_check_enum ent_check = oval_check_parse(reader, "entity_check", OVAL_CHECK_ALL); + oval_check_t var_check = oval_check_parse(reader, "var_check" , OVAL_CHECK_ALL); + oval_check_t ent_check = oval_check_parse(reader, "entity_check", OVAL_CHECK_ALL); set_oval_state_content_var_check(content, var_check); set_oval_state_content_ent_check(content, ent_check); @@ -136,11 +136,11 @@ { xmlNode *content_node = oval_entity_to_dom(content->entity, doc, parent); - oval_check_enum var_check = oval_state_content_var_check(content); + oval_check_t var_check = oval_state_content_get_var_check(content); if(var_check!=OVAL_CHECK_ALL) xmlNewProp(content_node, "var_check", oval_check_text(var_check)); - oval_check_enum ent_check = oval_state_content_ent_check(content); + oval_check_t ent_check = oval_state_content_get_ent_check(content); if(ent_check!=OVAL_CHECK_ALL) xmlNewProp(content_node, "entity_check", oval_check_text(ent_check)); diff -u -r a/src/OVAL/oval_sysData.c b/src/OVAL/oval_sysData.c --- a/src/OVAL/oval_sysData.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_sysData.c 2009-09-21 17:15:12 -0400 @@ -40,13 +40,12 @@ typedef struct oval_sysdata { //oval_family_enum family; - oval_subtype_enum subtype; - oval_message_level_enum message_level; - char* subtype_name; + oval_subtype_t subtype; + oval_message_level_t message_level; char* id; char* message; struct oval_collection *items; - oval_syschar_status_enum status; + oval_syschar_status_t status; } oval_sysdata_t; struct oval_sysdata *oval_sysdata_new(char *id){ @@ -54,7 +53,6 @@ sysdata->id = strdup(id); sysdata->message_level = OVAL_MESSAGE_LEVEL_NONE; sysdata->subtype = OVAL_SUBTYPE_UNKNOWN; - sysdata->subtype_name = NULL; sysdata->status = SYSCHAR_STATUS_UNKNOWN; sysdata->message = NULL; sysdata->items = oval_collection_new(); @@ -63,7 +61,6 @@ void oval_sysdata_free(struct oval_sysdata *sysdata){ if(sysdata->message!=NULL)free(sysdata->message); - if(sysdata->subtype_name!=NULL)free(sysdata->subtype_name); oval_collection_free_items(sysdata->items, (oscap_destruct_func)oval_sysitem_free); free(sysdata->id); @@ -71,65 +68,59 @@ sysdata->id = NULL; sysdata->items = NULL; sysdata->message = NULL; - sysdata->subtype_name = NULL; free(sysdata); } -int oval_iterator_sysdata_has_more(struct oval_iterator_sysdata *oc_sysdata) +int oval_sysdata_iterator_has_more(struct oval_sysdata_iterator *oc_sysdata) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_sysdata); } -struct oval_sysdata *oval_iterator_sysdata_next(struct oval_iterator_sysdata +struct oval_sysdata *oval_sysdata_iterator_next(struct oval_sysdata_iterator *oc_sysdata) { return (struct oval_sysdata *) oval_collection_iterator_next((struct oval_iterator *)oc_sysdata); } -oval_subtype_enum oval_sysdata_subtype(struct oval_sysdata *sysdata) +oval_subtype_t oval_sysdata_get_subtype(struct oval_sysdata *sysdata) { return sysdata->subtype; } -void set_oval_sysdata_subtype(struct oval_sysdata *sysdata, oval_subtype_enum subtype) +void set_oval_sysdata_subtype(struct oval_sysdata *sysdata, oval_subtype_t subtype) { sysdata->subtype = subtype; } -char *oval_sysdata_id(struct oval_sysdata *data){ +char *oval_sysdata_get_id(struct oval_sysdata *data){ return data->id; } -char *oval_sysdata_subtype_name(struct oval_sysdata *data){ - return data->subtype_name; -} -void set_oval_sysdata_subtype_name(struct oval_sysdata *data, char *name){ - data->subtype_name = strdup(name); -} -char *oval_sysdata_message(struct oval_sysdata *data){ + +char *oval_sysdata_get_message(struct oval_sysdata *data){ return data->message; } void set_oval_sysdata_message(struct oval_sysdata *data, char *message){ if(data->message!=NULL)free(data->message); data->message = message==NULL?NULL:strdup(message); } -oval_message_level_enum oval_sysdata_message_level(struct oval_sysdata *data){ +oval_message_level_t oval_sysdata_get_message_level(struct oval_sysdata *data){ return data->message_level; } -void set_oval_sysdata_message_level(struct oval_sysdata *data, oval_message_level_enum level){ +void set_oval_sysdata_message_level(struct oval_sysdata *data, oval_message_level_t level){ data->message_level = level; } -struct oval_iterator_sysitem *oval_sysdata_items(struct oval_sysdata *data){ - return (struct oval_iterator_sysitem *)oval_collection_iterator(data->items); +struct oval_sysitem_iterator *oval_sysdata_get_items(struct oval_sysdata *data){ + return (struct oval_sysitem_iterator *)oval_collection_iterator(data->items); } void add_oval_sysdata_item(struct oval_sysdata *data, struct oval_sysitem* item){ oval_collection_add(data->items, item); } -oval_syschar_status_enum oval_sysdata_status(struct oval_sysdata *data){ +oval_syschar_status_t oval_sysdata_get_status(struct oval_sysdata *data){ return data->status; } -void set_oval_sysdata_status(struct oval_sysdata *data, oval_syschar_status_enum status){ +void set_oval_sysdata_status(struct oval_sysdata *data, oval_syschar_status_t status){ data->status = status; } @@ -164,16 +155,15 @@ struct oval_parser_context *context) { char *tagname = (char*) xmlTextReaderLocalName(reader); - oval_subtype_enum subtype = oval_subtype_parse(reader); + oval_subtype_t subtype = oval_subtype_parse(reader); int return_code; if(subtype!=OVAL_SUBTYPE_UNKNOWN){ char *item_id = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "id"); struct oval_sysdata *sysdata = get_oval_sysdata_new(context->syschar_model, item_id); free(item_id);item_id=NULL; - oval_subtype_enum sub = oval_subtype_parse(reader); + oval_subtype_t sub = oval_subtype_parse(reader); set_oval_sysdata_subtype(sysdata, sub); - set_oval_sysdata_subtype_name(sysdata, tagname); - oval_syschar_status_enum status_enum + oval_syschar_status_t status_enum = oval_syschar_status_parse(reader, "status", SYSCHAR_STATUS_EXISTS); set_oval_sysdata_status(sysdata, status_enum); return_code = oval_parser_parse_tag(reader, context, &_oval_sysdata_parse_subtag, sysdata); @@ -181,15 +171,15 @@ int numchars = 0; char message[2000];message[numchars]='\0'; numchars = numchars + sprintf(message+numchars,"oval_sysdata_parse_tag::"); - numchars = numchars + sprintf(message+numchars,"\n sysdata->id = %s",oval_sysdata_id (sysdata)); - numchars = numchars + sprintf(message+numchars,"\n sysdata->status = %d",oval_sysdata_status(sysdata)); - oval_message_level_enum level = oval_sysdata_message_level(sysdata); + numchars = numchars + sprintf(message+numchars,"\n sysdata->id = %s",oval_sysdata_get_id (sysdata)); + numchars = numchars + sprintf(message+numchars,"\n sysdata->status = %d",oval_sysdata_get_status(sysdata)); + oval_message_level_t level = oval_sysdata_get_message_level(sysdata); if(level>OVAL_MESSAGE_LEVEL_NONE){ numchars = numchars + sprintf(message+numchars,"\n sysdata->message_level = %d",level); - numchars = numchars + sprintf(message+numchars,"\n sysdata->message = %s",oval_sysdata_message(sysdata)); + numchars = numchars + sprintf(message+numchars,"\n sysdata->message = %s",oval_sysdata_get_message(sysdata)); } - struct oval_iterator_sysitem *items = oval_sysdata_items(sysdata); - int numItems;for(numItems=0;oval_iterator_sysitem_has_more(items);numItems++)oval_iterator_sysitem_next(items); + struct oval_sysitem_iterator *items = oval_sysdata_get_items(sysdata); + int numItems;for(numItems=0;oval_sysitem_iterator_has_more(items);numItems++)oval_sysitem_iterator_next(items); numchars = numchars + sprintf(message+numchars,"\n sysdata->items.length = %d",numItems); oval_parser_log_debug(context, message); } @@ -236,53 +226,72 @@ struct oval_collection *items; */ {//id - printf("%sID = %s\n", nxtindent, oval_sysdata_id(sysdata)); - } - {//subtype name - printf("%sSUBTYPE_NAME = %s\n", nxtindent, oval_sysdata_subtype_name(sysdata)); + printf("%sID = %s\n", nxtindent, oval_sysdata_get_id(sysdata)); } {//subtype - printf("%sSUBTYPE = %d\n", nxtindent, oval_sysdata_subtype(sysdata)); + printf("%sSUBTYPE = %d\n", nxtindent, oval_sysdata_get_subtype(sysdata)); } {//status - printf("%sSTATUS = %d\n", nxtindent, oval_sysdata_status(sysdata)); + printf("%sSTATUS = %d\n", nxtindent, oval_sysdata_get_status(sysdata)); } - oval_message_level_enum level = oval_sysdata_message_level(sysdata); + oval_message_level_t level = oval_sysdata_get_message_level(sysdata); {//level printf("%sMESSAGE_LEVEL = %d\n", nxtindent, level); } if(level!=OVAL_MESSAGE_LEVEL_NONE){//message - printf("%sMESSAGE = %s\n", nxtindent, oval_sysdata_message(sysdata)); + printf("%sMESSAGE = %s\n", nxtindent, oval_sysdata_get_message(sysdata)); } {//items - struct oval_iterator_sysitem *items = oval_sysdata_items(sysdata); - int i;for(i=1;oval_iterator_sysitem_has_more(items);i++){ - struct oval_sysitem *item = oval_iterator_sysitem_next(items); + struct oval_sysitem_iterator *items = oval_sysdata_get_items(sysdata); + int i;for(i=1;oval_sysitem_iterator_has_more(items);i++){ + struct oval_sysitem *item = oval_sysitem_iterator_next(items); oval_sysitem_to_print(item, nxtindent, i); } } } + void oval_sysdata_to_dom (struct oval_sysdata *sysdata, xmlDoc *doc, xmlNode *tag_parent){ if(sysdata){ xmlNs *ns_syschar = xmlSearchNsByHref(doc, tag_parent, OVAL_SYSCHAR_NAMESPACE); + + char syschar_namespace[] = "http://oval.mitre.org/XMLSchema/oval-system-characteristics-5"; + oval_subtype_t subtype = oval_sysdata_get_subtype(sysdata); + const char* family = oval_family_get_text(oval_subtype_get_family(subtype)); + char family_namespace[sizeof(syschar_namespace)+sizeof(family)+2];*family_namespace = '\0'; + char *cat = strcpy(family_namespace, syschar_namespace)+sizeof(OVAL_SYSCHAR_NAMESPACE); + cat = strcat(cat, "#")+1;strcat(cat, family); + const char* subtype_text = oval_subtype_get_text(subtype); + char tagname[sizeof(subtype_text)+6];*tagname = '\0'; + cat = strcpy(tagname, subtype_text)+sizeof(subtype_text); + strcat(cat, "_item"); xmlNode *tag_sysdata = xmlNewChild - (tag_parent, ns_syschar, BAD_CAST "item", NULL); + (tag_parent, NULL, BAD_CAST tagname, NULL); + xmlNs *ns_family = xmlNewNs(tag_sysdata, BAD_CAST family_namespace, NULL); + xmlSetNs(tag_sysdata, ns_family); {//attributes - xmlNewProp(tag_sysdata, BAD_CAST "id", BAD_CAST oval_sysdata_id(sysdata)); - oval_syschar_status_enum status_index = oval_sysdata_status(sysdata); + xmlNewProp(tag_sysdata, BAD_CAST "id", BAD_CAST oval_sysdata_get_id(sysdata)); + oval_syschar_status_t status_index = oval_sysdata_get_status(sysdata); char* status = oval_syschar_status_text(status_index); xmlNewProp(tag_sysdata, BAD_CAST "status", BAD_CAST status); } {//message - char *message = oval_sysdata_message(sysdata); + char *message = oval_sysdata_get_message(sysdata); if(message!=NULL){ xmlNode *tag_message = xmlNewChild (tag_sysdata, ns_syschar, BAD_CAST "message", BAD_CAST message); - oval_message_level_enum index = oval_sysdata_message_level(sysdata); + oval_message_level_t index = oval_sysdata_get_message_level(sysdata); const char* level = oval_message_level_text(index); xmlNewProp(tag_message, BAD_CAST "level", BAD_CAST level); } } + + {//items + struct oval_sysitem_iterator *items = oval_sysdata_get_items(sysdata); + while(oval_sysitem_iterator_has_more(items)){ + struct oval_sysitem *item = oval_sysitem_iterator_next(items); + oval_sysitem_to_dom(item, doc, tag_sysdata); + } + } } } diff -u -r a/src/OVAL/oval_sysInfo.c b/src/OVAL/oval_sysInfo.c --- a/src/OVAL/oval_sysInfo.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_sysInfo.c 2009-09-21 16:51:14 -0400 @@ -70,20 +70,20 @@ } } -int oval_iterator_sysinfo_has_more(struct oval_iterator_sysinfo *oc_sysinfo) +int oval_sysinfo_iterator_has_more(struct oval_sysinfo_iterator *oc_sysinfo) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_sysinfo); } -struct oval_sysinfo *oval_iterator_sysinfo_next(struct oval_iterator_sysinfo +struct oval_sysinfo *oval_sysinfo_iterator_next(struct oval_sysinfo_iterator *oc_sysinfo) { return (struct oval_sysinfo *) oval_collection_iterator_next((struct oval_iterator *)oc_sysinfo); } -char *oval_sysinfo_os_name(struct oval_sysinfo *sysinfo) +char *oval_sysinfo_get_os_name(struct oval_sysinfo *sysinfo) { return sysinfo->osName; } @@ -93,7 +93,7 @@ sysinfo->osName = osName==NULL?NULL:strdup(osName); } -char *oval_sysinfo_os_version(struct oval_sysinfo *sysinfo) +char *oval_sysinfo_get_os_version(struct oval_sysinfo *sysinfo) { return sysinfo->osVersion; } @@ -104,7 +104,7 @@ sysinfo->osVersion = osVersion==NULL?NULL:strdup(osVersion); } -char *oval_sysinfo_os_architecture(struct oval_sysinfo *sysinfo) +char *oval_sysinfo_get_os_architecture(struct oval_sysinfo *sysinfo) { return sysinfo->osArchitecture; } @@ -115,7 +115,7 @@ sysinfo->osArchitecture = osArchitecture==NULL?NULL:strdup(osArchitecture); } -char *oval_sysinfo_primary_host_name(struct oval_sysinfo *sysinfo) +char *oval_sysinfo_get_primary_host_name(struct oval_sysinfo *sysinfo) { return sysinfo->primaryHostName; } @@ -126,10 +126,10 @@ sysinfo->primaryHostName = primaryHostName==NULL?NULL:strdup(primaryHostName); } -struct oval_iterator_sysint *oval_sysinfo_interfaces(struct oval_sysinfo +struct oval_sysint_iterator *oval_sysinfo_get_interfaces(struct oval_sysinfo *sysinfo) { - return (struct oval_iterator_sysint *)oval_collection_iterator(sysinfo-> + return (struct oval_sysint_iterator *)oval_collection_iterator(sysinfo-> interfaces); } @@ -249,21 +249,21 @@ struct oval_collection *interfaces; */ {//osName - printf("%sOS_NAME = %s\n", nxtindent, oval_sysinfo_os_name(sysinfo)); + printf("%sOS_NAME = %s\n", nxtindent, oval_sysinfo_get_os_name(sysinfo)); } {//osVersion - printf("%sOS_VERSION = %s\n", nxtindent, oval_sysinfo_os_version(sysinfo)); + printf("%sOS_VERSION = %s\n", nxtindent, oval_sysinfo_get_os_version(sysinfo)); } {//osArchitecture - printf("%sOS_ARCHITECTURE = %s \n", nxtindent, oval_sysinfo_os_architecture(sysinfo)); + printf("%sOS_ARCHITECTURE = %s \n", nxtindent, oval_sysinfo_get_os_architecture(sysinfo)); } {//host name - printf("%sPRIMARY_HOST_NAME = %s\n", nxtindent, oval_sysinfo_primary_host_name(sysinfo)); + printf("%sPRIMARY_HOST_NAME = %s\n", nxtindent, oval_sysinfo_get_primary_host_name(sysinfo)); } {//interfaces - struct oval_iterator_sysint *intrfcs = oval_sysinfo_interfaces(sysinfo); - int i;for(i=1;oval_iterator_sysint_has_more(intrfcs);i++){ - struct oval_sysint *intrfc = oval_iterator_sysint_next(intrfcs); + struct oval_sysint_iterator *intrfcs = oval_sysinfo_get_interfaces(sysinfo); + int i;for(i=1;oval_sysint_iterator_has_more(intrfcs);i++){ + struct oval_sysint *intrfc = oval_sysint_iterator_next(intrfcs); oval_sysint_to_print(intrfc, nxtindent, i); } } @@ -276,22 +276,22 @@ (tag_parent, ns_syschar, BAD_CAST "system_info", NULL); xmlNewChild (tag_sysinfo, ns_syschar, BAD_CAST "os_name", - BAD_CAST oval_sysinfo_os_name(sysinfo)); + BAD_CAST oval_sysinfo_get_os_name(sysinfo)); xmlNewChild (tag_sysinfo, ns_syschar, BAD_CAST "os_version", - BAD_CAST oval_sysinfo_os_version(sysinfo)); + BAD_CAST oval_sysinfo_get_os_version(sysinfo)); xmlNewChild (tag_sysinfo, ns_syschar, BAD_CAST "architecture", - BAD_CAST oval_sysinfo_os_architecture(sysinfo)); + BAD_CAST oval_sysinfo_get_os_architecture(sysinfo)); xmlNewChild (tag_sysinfo, ns_syschar, BAD_CAST "primary_host_name", - BAD_CAST oval_sysinfo_primary_host_name(sysinfo)); + BAD_CAST oval_sysinfo_get_primary_host_name(sysinfo)); xmlNode *tag_interfaces = xmlNewChild (tag_sysinfo, ns_syschar, BAD_CAST "interfaces", NULL); - struct oval_iterator_sysint *intrfcs = oval_sysinfo_interfaces(sysinfo); - int i;for(i=1;oval_iterator_sysint_has_more(intrfcs);i++){ - struct oval_sysint *intrfc = oval_iterator_sysint_next(intrfcs); + struct oval_sysint_iterator *intrfcs = oval_sysinfo_get_interfaces(sysinfo); + int i;for(i=1;oval_sysint_iterator_has_more(intrfcs);i++){ + struct oval_sysint *intrfc = oval_sysint_iterator_next(intrfcs); oval_sysint_to_dom(intrfc, doc, tag_interfaces); } } diff -u -r a/src/OVAL/oval_sysInterface.c b/src/OVAL/oval_sysInterface.c --- a/src/OVAL/oval_sysInterface.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_sysInterface.c 2009-09-21 16:48:44 -0400 @@ -39,20 +39,20 @@ char *macAddress; } oval_sysint_t; -int oval_iterator_sysint_has_more(struct oval_iterator_sysint *oc_sysint) +int oval_sysint_iterator_has_more(struct oval_sysint_iterator *oc_sysint) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_sysint); } -struct oval_sysint *oval_iterator_sysint_next(struct oval_iterator_sysint +struct oval_sysint *oval_sysint_iterator_next(struct oval_sysint_iterator *oc_sysint) { return (struct oval_sysint *) oval_collection_iterator_next((struct oval_iterator *)oc_sysint); } -char *oval_sysint_name(struct oval_sysint *sysint) +char *oval_sysint_get_name(struct oval_sysint *sysint) { return sysint->name; } @@ -63,7 +63,7 @@ sysint->name = name==NULL?NULL:strdup(name); } -char *oval_sysint_ip_address(struct oval_sysint *sysint) +char *oval_sysint_get_ip_address(struct oval_sysint *sysint) { return ((struct oval_sysint *)sysint)->ipAddress; } @@ -74,7 +74,7 @@ sysint->ipAddress = (ip_address==NULL)?NULL:strdup(ip_address); } -char *oval_sysint_mac_address(struct oval_sysint *sysint) +char *oval_sysint_get_mac_address(struct oval_sysint *sysint) { return ((struct oval_sysint *)sysint)->macAddress; } @@ -187,13 +187,13 @@ char *macAddress; */ {//name - printf("%sNAME = %s\n", nxtindent, oval_sysint_name(sysint)); + printf("%sNAME = %s\n", nxtindent, oval_sysint_get_name(sysint)); } - char* ipadd = oval_sysint_ip_address(sysint); + char* ipadd = oval_sysint_get_ip_address(sysint); if(ipadd!=NULL){//ipaddress printf("%sIP_ADDRESS = %s\n", nxtindent, ipadd); } - char* macadd = oval_sysint_mac_address(sysint); + char* macadd = oval_sysint_get_mac_address(sysint); if(macadd!=NULL){//mac address printf("%sMAC_ADDRESS = %s\n", nxtindent, macadd); } @@ -206,13 +206,13 @@ (tag_parent, ns_syschar, BAD_CAST "interface", NULL); xmlNewChild (tag_sysint, ns_syschar, BAD_CAST "interface_name", - BAD_CAST oval_sysint_name(sysint)); + BAD_CAST oval_sysint_get_name(sysint)); xmlNewChild (tag_sysint, ns_syschar, BAD_CAST "ip_address", - BAD_CAST oval_sysint_ip_address(sysint)); + BAD_CAST oval_sysint_get_ip_address(sysint)); xmlNewChild (tag_sysint, ns_syschar, BAD_CAST "mac_address", - BAD_CAST oval_sysint_mac_address(sysint)); + BAD_CAST oval_sysint_get_mac_address(sysint)); } } diff -u -r a/src/OVAL/oval_sysItem.c b/src/OVAL/oval_sysItem.c --- a/src/OVAL/oval_sysItem.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_sysItem.c 2009-09-21 17:13:51 -0400 @@ -40,8 +40,8 @@ char* name; char* value; int mask; - oval_datatype_enum datatype; - oval_syschar_status_enum status; + oval_datatype_t datatype; + oval_syschar_status_t status; } oval_sysitem_t; struct oval_sysitem *oval_sysitem_new(){ @@ -64,35 +64,34 @@ free(sysitem); } -int oval_iterator_sysitem_has_more(struct oval_iterator_sysitem *oc_sysitem) +int oval_sysitem_iterator_has_more(struct oval_sysitem_iterator *oc_sysitem) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_sysitem); } -struct oval_sysitem *oval_iterator_sysitem_next(struct oval_iterator_sysitem - *oc_sysitem) +struct oval_sysitem *oval_sysitem_iterator_next(struct oval_sysitem_iterator *oc_sysitem) { return (struct oval_sysitem *) oval_collection_iterator_next((struct oval_iterator *)oc_sysitem); } -char *oval_sysitem_name(struct oval_sysitem *sysitem){return sysitem->name;} -oval_syschar_status_enum oval_sysitem_status(struct oval_sysitem *sysitem){return sysitem->status;} -char *oval_sysitem_value(struct oval_sysitem *sysitem){return sysitem->value;} -oval_datatype_enum oval_sysitem_datatype(struct oval_sysitem *sysitem){return sysitem->datatype;} -int oval_sysitem_mask(struct oval_sysitem *sysitem){return sysitem->mask;} +char *oval_sysitem_get_name(struct oval_sysitem *sysitem){return sysitem->name;} +oval_syschar_status_t oval_sysitem_get_status(struct oval_sysitem *sysitem){return sysitem->status;} +char *oval_sysitem_get_value(struct oval_sysitem *sysitem){return sysitem->value;} +oval_datatype_t oval_sysitem_get_datatype(struct oval_sysitem *sysitem){return sysitem->datatype;} +int oval_sysitem_get_mask(struct oval_sysitem *sysitem){return sysitem->mask;} void set_oval_sysitem_name(struct oval_sysitem *sysitem, char *name) { if(sysitem->name!=NULL)free(sysitem->name); sysitem->name = name==NULL?NULL:strdup(name); } -void set_oval_sysitem_status(struct oval_sysitem *sysitem, oval_syschar_status_enum status) +void set_oval_sysitem_status(struct oval_sysitem *sysitem, oval_syschar_status_t status) { sysitem->status = status; } -void set_oval_sysitem_datatype(struct oval_sysitem *sysitem, oval_datatype_enum datatype) +void set_oval_sysitem_datatype(struct oval_sysitem *sysitem, oval_datatype_t datatype) { sysitem->datatype = datatype; } @@ -132,11 +131,11 @@ set_oval_sysitem_mask(sysitem, mask); } {//sysitem->datatype - oval_datatype_enum datatype = oval_datatype_parse(reader, "datatype", OVAL_DATATYPE_STRING); + oval_datatype_t datatype = oval_datatype_parse(reader, "datatype", OVAL_DATATYPE_STRING); set_oval_sysitem_datatype(sysitem, datatype); } {//sysitem->status - oval_syschar_status_enum status = oval_syschar_status_parse(reader, "status", SYSCHAR_STATUS_EXISTS); + oval_syschar_status_t status = oval_syschar_status_parse(reader, "status", SYSCHAR_STATUS_EXISTS); set_oval_sysitem_status(sysitem, status); } {//sysitem->value @@ -151,11 +150,11 @@ int numchars = 0; char message[2000];message[numchars]='\0'; numchars = numchars + sprintf(message+numchars,"oval_sysitem_parse_tag::"); - numchars = numchars + sprintf(message+numchars,"\n sysitem->name = %s",oval_sysitem_name (sysitem)); - numchars = numchars + sprintf(message+numchars,"\n sysitem->mask = %d",oval_sysitem_mask (sysitem)); - numchars = numchars + sprintf(message+numchars,"\n sysitem->datatype = %d",oval_sysitem_datatype(sysitem)); - numchars = numchars + sprintf(message+numchars,"\n sysitem->status = %d",oval_sysitem_status (sysitem)); - numchars = numchars + sprintf(message+numchars,"\n sysitem->value = %s",oval_sysitem_value (sysitem)); + numchars = numchars + sprintf(message+numchars,"\n sysitem->name = %s",oval_sysitem_get_name (sysitem)); + numchars = numchars + sprintf(message+numchars,"\n sysitem->mask = %d",oval_sysitem_get_mask (sysitem)); + numchars = numchars + sprintf(message+numchars,"\n sysitem->datatype = %d",oval_sysitem_get_datatype(sysitem)); + numchars = numchars + sprintf(message+numchars,"\n sysitem->status = %d",oval_sysitem_get_status (sysitem)); + numchars = numchars + sprintf(message+numchars,"\n sysitem->value = %s",oval_sysitem_get_value (sysitem)); oval_parser_log_debug(context, message); } (*consumer)(sysitem, client); @@ -186,18 +185,40 @@ oval_syschar_status_enum status; */ {//id - printf("%sNAME = %s\n", nxtindent, oval_sysitem_name(sysitem)); + printf("%sNAME = %s\n", nxtindent, oval_sysitem_get_name(sysitem)); } {//id - printf("%sVALUE = %s\n", nxtindent, oval_sysitem_value(sysitem)); + printf("%sVALUE = %s\n", nxtindent, oval_sysitem_get_value(sysitem)); } {//mask - printf("%sMASK = %d\n", nxtindent, oval_sysitem_mask(sysitem)); + printf("%sMASK = %d\n", nxtindent, oval_sysitem_get_mask(sysitem)); } {//datatype - printf("%sDATATYPE = %d\n", nxtindent, oval_sysitem_datatype(sysitem)); + printf("%sDATATYPE = %d\n", nxtindent, oval_sysitem_get_datatype(sysitem)); } {//status - printf("%sSTATUS = %d\n", nxtindent, oval_sysitem_status(sysitem)); + printf("%sSTATUS = %d\n", nxtindent, oval_sysitem_get_status(sysitem)); + } +} + +void oval_sysitem_to_dom (struct oval_sysitem *sysitem, xmlDoc *doc, xmlNode *parent) +{ + xmlNs *ns_parent = xmlGetNsList(doc, parent)[0]; + xmlNode *sysitem_tag = xmlNewChild(parent, ns_parent, oval_sysitem_get_name(sysitem), oval_sysitem_get_value(sysitem)); + + bool mask_value = oval_sysitem_get_mask(sysitem); + if(mask_value){ + xmlNewProp(sysitem_tag, BAD_CAST "mask", BAD_CAST "true"); + } + + oval_datatype_t datatype_index = oval_sysitem_get_datatype(sysitem); + if(datatype_index != OVAL_DATATYPE_STRING){ + xmlNewProp(sysitem_tag, BAD_CAST "datatype", BAD_CAST oval_datatype_text(datatype_index)); + } + + oval_syschar_status_t status_index = oval_sysitem_get_status(sysitem); + if(status_index!=SYSCHAR_STATUS_EXISTS){ + xmlNewProp(sysitem_tag, BAD_CAST "status", BAD_CAST oval_syschar_status_text(status_index)); } } + diff -u -r a/src/OVAL/oval_syschar.c b/src/OVAL/oval_syschar.c --- a/src/OVAL/oval_syschar.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_syschar.c 2009-09-21 17:07:43 -0400 @@ -38,7 +38,7 @@ int OVAL_SYSCHAR_DEBUG = 0; typedef struct oval_syschar { - oval_syschar_collection_flag_enum flag; + oval_syschar_collection_flag_t flag; struct oval_collection *messages; struct oval_sysinfo *sysinfo; struct oval_object *object; @@ -46,27 +46,27 @@ struct oval_collection *sysdata; } oval_syschar_t; -int oval_iterator_syschar_has_more(struct oval_iterator_syschar *oc_syschar) +int oval_syschar_iterator_has_more(struct oval_syschar_iterator *oc_syschar) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_syschar); } -struct oval_syschar *oval_iterator_syschar_next(struct oval_iterator_syschar +struct oval_syschar *oval_syschar_iterator_next(struct oval_syschar_iterator *oc_syschar) { return (struct oval_syschar *) oval_collection_iterator_next((struct oval_iterator *)oc_syschar); } -oval_syschar_collection_flag_enum oval_syschar_flag(struct oval_syschar +oval_syschar_collection_flag_t oval_syschar_get_flag(struct oval_syschar *syschar) { return ((struct oval_syschar *)syschar)->flag; } void set_oval_syschar_flag - (struct oval_syschar *syschar, oval_syschar_collection_flag_enum flag) + (struct oval_syschar *syschar, oval_syschar_collection_flag_t flag) { syschar->flag = flag; } @@ -77,9 +77,9 @@ } -struct oval_iterator_message *oval_syschar_messages(struct oval_syschar *syschar) +struct oval_message_iterator *oval_syschar_get_messages(struct oval_syschar *syschar) { - return (struct oval_iterator_message *)oval_collection_iterator(syschar-> + return (struct oval_message_iterator *)oval_collection_iterator(syschar-> messages); } @@ -88,7 +88,7 @@ oval_collection_add(syschar->messages, message); } -struct oval_sysinfo *oval_syschar_sysinfo(struct oval_syschar *syschar) +struct oval_sysinfo *oval_syschar_get_sysinfo(struct oval_syschar *syschar) { return ((struct oval_syschar *)syschar)->sysinfo; } @@ -99,16 +99,16 @@ syschar->sysinfo = sysinfo; } -struct oval_object *oval_syschar_object(struct oval_syschar *syschar) +struct oval_object *oval_syschar_get_object(struct oval_syschar *syschar) { return ((struct oval_syschar *)syschar)->object; } -struct oval_iterator_variable_binding *oval_syschar_variable_bindings(struct +struct oval_variable_binding_iterator *oval_syschar_get_variable_bindings(struct oval_syschar *syschar) { - return (struct oval_iterator_variable_binding *) + return (struct oval_variable_binding_iterator *) oval_collection_iterator(syschar->variable_bindings); } @@ -118,9 +118,9 @@ oval_collection_add(syschar->variable_bindings, binding); } -struct oval_iterator_sysdata *oval_syschar_sysdata(struct oval_syschar *syschar) +struct oval_sysdata_iterator *oval_syschar_sysdata(struct oval_syschar *syschar) { - return (struct oval_iterator_sysdata *) + return (struct oval_sysdata_iterator *) oval_collection_iterator(syschar->sysdata); } @@ -235,7 +235,7 @@ oval_syschar_t *syschar = get_oval_syschar_new(context->syschar_model, object); syschar->sysinfo = context->syschar_sysinfo; char *flag = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "flag"); - oval_syschar_collection_flag_enum flag_enum + oval_syschar_collection_flag_t flag_enum = oval_syschar_flag_parse(reader, "flag", SYSCHAR_FLAG_UNKNOWN); if(flag!=NULL)free(flag); set_oval_syschar_flag(syschar, flag_enum); @@ -285,29 +285,29 @@ struct oval_object *object; struct oval_collection *sysdata; */ - printf("%sFLAG = %d\n", nxtindent, oval_syschar_flag(syschar)); + printf("%sFLAG = %d\n", nxtindent, oval_syschar_get_flag(syschar)); {//messages - struct oval_iterator_message *messages = oval_syschar_messages(syschar); - int i;for(i=1;oval_iterator_message_has_more(messages);i++){ - struct oval_message *message = oval_iterator_message_next(messages); + struct oval_message_iterator *messages = oval_syschar_get_messages(syschar); + int i;for(i=1;oval_message_iterator_has_more(messages);i++){ + struct oval_message *message = oval_message_iterator_next(messages); oval_message_to_print(message, nxtindent, i); } } {//sysinfo - struct oval_sysinfo *sysinfo = oval_syschar_sysinfo(syschar); + struct oval_sysinfo *sysinfo = oval_syschar_get_sysinfo(syschar); if (sysinfo) oval_sysinfo_to_print(sysinfo, nxtindent, 0); } {//object - struct oval_object *object = oval_syschar_object(syschar); + struct oval_object *object = oval_syschar_get_object(syschar); if (object) oval_object_to_print(object, nxtindent, 0); } {//sysdata - struct oval_iterator_sysdata *sysdatas = oval_syschar_sysdata(syschar); - int hasMore = oval_iterator_sysdata_has_more(sysdatas); + struct oval_sysdata_iterator *sysdatas = oval_syschar_sysdata(syschar); + int hasMore = oval_sysdata_iterator_has_more(sysdatas); if(hasMore){ - int i;for(i=1;oval_iterator_sysdata_has_more(sysdatas);i++){ - struct oval_sysdata *sysdata = oval_iterator_sysdata_next(sysdatas); + int i;for(i=1;oval_sysdata_iterator_has_more(sysdatas);i++){ + struct oval_sysdata *sysdata = oval_sysdata_iterator_next(sysdatas); oval_sysdata_to_print(sysdata, nxtindent, i); } } @@ -321,34 +321,36 @@ (tag_parent, ns_syschar, BAD_CAST "object", NULL); {//attributes - struct oval_object *object = oval_syschar_object(syschar); - xmlNewProp(tag_syschar, BAD_CAST "id", BAD_CAST oval_object_id(object)); + struct oval_object *object = oval_syschar_get_object(syschar); + xmlNewProp(tag_syschar, BAD_CAST "id", BAD_CAST oval_object_get_id(object)); char version[17]; - snprintf(version, sizeof(version), "%d", oval_object_version(object)); + snprintf(version, sizeof(version), "%d", oval_object_get_version(object)); xmlNewProp(tag_syschar, BAD_CAST "version", BAD_CAST version); + oval_syschar_collection_flag_t flag = oval_syschar_get_flag(syschar); + xmlNewProp(tag_syschar, BAD_CAST "flag", BAD_CAST oval_syschar_collection_flag_text(flag)); } {//messages - struct oval_iterator_message *messages = oval_syschar_messages(syschar); - while(oval_iterator_message_has_more(messages)){ - struct oval_message *message = oval_iterator_message_next(messages); + struct oval_message_iterator *messages = oval_syschar_get_messages(syschar); + while(oval_message_iterator_has_more(messages)){ + struct oval_message *message = oval_message_iterator_next(messages); oval_message_to_dom(message, doc, tag_syschar); } } {//variable values - struct oval_iterator_variable_binding *bindings = oval_syschar_variable_bindings(syschar); - while(oval_iterator_variable_binding_has_more(bindings)){ - struct oval_variable_binding *binding = oval_iterator_variable_binding_next(bindings); + struct oval_variable_binding_iterator *bindings = oval_syschar_get_variable_bindings(syschar); + while(oval_variable_binding_iterator_has_more(bindings)){ + struct oval_variable_binding *binding = oval_variable_binding_iterator_next(bindings); oval_variable_binding_to_dom(binding, doc, tag_syschar); } } {//references - struct oval_iterator_sysdata *sysdatas = oval_syschar_sysdata(syschar); - while(oval_iterator_sysdata_has_more(sysdatas)){ - struct oval_sysdata *sysdata = oval_iterator_sysdata_next(sysdatas); + struct oval_sysdata_iterator *sysdatas = oval_syschar_sysdata(syschar); + while(oval_sysdata_iterator_has_more(sysdatas)){ + struct oval_sysdata *sysdata = oval_sysdata_iterator_next(sysdatas); xmlNode *tag_reference = xmlNewChild (tag_syschar, ns_syschar, BAD_CAST "reference", NULL); xmlNewProp(tag_reference,BAD_CAST "item_ref", - BAD_CAST oval_sysdata_id(sysdata)); + BAD_CAST oval_sysdata_get_id(sysdata)); } } } diff -u -r a/src/OVAL/oval_system_characteristics_impl.h b/src/OVAL/oval_system_characteristics_impl.h --- a/src/OVAL/oval_system_characteristics_impl.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_system_characteristics_impl.h 2009-09-21 17:13:51 -0400 @@ -65,8 +65,8 @@ void oval_sysdata_to_dom (struct oval_sysdata *, xmlDoc *, xmlNode *); int oval_sysdata_parse_tag(xmlTextReaderPtr, struct oval_parser_context *); -void set_oval_sysdata_status(struct oval_sysdata *, oval_syschar_status_enum); -void set_oval_sysdata_subtype(struct oval_sysdata *sysdata, oval_subtype_enum subtype); +void set_oval_sysdata_status(struct oval_sysdata *, oval_syschar_status_t); +void set_oval_sysdata_subtype(struct oval_sysdata *sysdata, oval_subtype_t subtype); void set_oval_sysdata_subtype_name(struct oval_sysdata *data, char *name); void add_oval_sysdata_item(struct oval_sysdata *, struct oval_sysitem *); @@ -74,7 +74,7 @@ void oval_syschar_free(struct oval_syschar *); void set_oval_syschar_flag(struct oval_syschar *, - oval_syschar_collection_flag_enum); + oval_syschar_collection_flag_t); void add_oval_syschar_messages(struct oval_syschar *, char *); void set_oval_syschar_sysinfo(struct oval_syschar *, struct oval_sysinfo *); void set_oval_syschar_object(struct oval_syschar *, struct oval_object *); @@ -84,11 +84,11 @@ void oval_syschar_to_print(struct oval_syschar *, char *, int); void oval_syschar_to_dom (struct oval_syschar *, xmlDoc *, xmlNode *); int oval_syschar_parse_tag(xmlTextReaderPtr, struct oval_parser_context *context); -oval_syschar_collection_flag_enum oval_syschar_flag_parse(xmlTextReaderPtr, char *, - oval_syschar_collection_flag_enum); -oval_syschar_status_enum oval_syschar_status_parse(xmlTextReaderPtr, char *, - oval_syschar_status_enum); -char* oval_syschar_status_text(oval_syschar_status_enum); +oval_syschar_collection_flag_t oval_syschar_flag_parse(xmlTextReaderPtr, char *, + oval_syschar_collection_flag_t); +oval_syschar_status_t oval_syschar_status_parse(xmlTextReaderPtr, char *, + oval_syschar_status_t); +char* oval_syschar_status_text(oval_syschar_status_t); //typedef void (*oval_affected_consumer) (struct oval_affected *, void *); //int oval_affected_parse_tag(xmlTextReaderPtr reader, @@ -105,7 +105,10 @@ void oval_sysitem_to_print(struct oval_sysitem *, char *, int); void set_oval_sysitem_name(struct oval_sysitem *sysitem, char *name); void set_oval_sysitem_value(struct oval_sysitem *sysitem, char *value); -void set_oval_sysitem_status(struct oval_sysitem *sysitem, oval_syschar_status_enum status); -void set_oval_sysitem_datatype(struct oval_sysitem *sysitem, oval_datatype_enum type); +void set_oval_sysitem_status(struct oval_sysitem *sysitem, oval_syschar_status_t status); +void set_oval_sysitem_datatype(struct oval_sysitem *sysitem, oval_datatype_t type); void set_oval_sysitem_mask(struct oval_sysitem *sysitem, int mask); +void oval_sysitem_to_dom (struct oval_sysitem *sysitem, xmlDoc *doc, xmlNode *tag_parent); + +const char *oval_syschar_collection_flag_text(oval_syschar_collection_flag_t); #endif diff -u -r a/src/OVAL/oval_test.c b/src/OVAL/oval_test.c --- a/src/OVAL/oval_test.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_test.c 2009-09-21 17:13:16 -0400 @@ -35,88 +35,82 @@ #include "oval_agent_api_impl.h" typedef struct oval_test { - oval_subtype_enum subtype; + oval_subtype_t subtype; struct oval_collection *notes; char *comment; char *id; int deprecated; int version; - oval_operator_enum operator ; - oval_existence_enum existence; - oval_check_enum check; + oval_existence_t existence; + oval_check_t check; struct oval_object *object; struct oval_state *state; } oval_test_t; -int oval_iterator_test_has_more(struct oval_iterator_test *oc_test) +int oval_test_iterator_has_more(struct oval_test_iterator *oc_test) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_test); } -struct oval_test *oval_iterator_test_next(struct oval_iterator_test *oc_test) +struct oval_test *oval_test_iterator_next(struct oval_test_iterator *oc_test) { return (struct oval_test *) oval_collection_iterator_next((struct oval_iterator *)oc_test); } -oval_family_enum oval_test_family(struct oval_test *test) +oval_family_t oval_test_get_family(struct oval_test *test) { return ((test->subtype) / 1000) * 1000; } -oval_subtype_enum oval_test_subtype(struct oval_test * test) +oval_subtype_t oval_test_get_subtype(struct oval_test * test) { return test->subtype; } -struct oval_iterator_string *oval_test_notes(struct oval_test *test) +struct oval_string_iterator *oval_test_get_notes(struct oval_test *test) { - return (struct oval_iterator_string *)oval_collection_iterator(test-> + return (struct oval_string_iterator *)oval_collection_iterator(test-> notes); } -char *oval_test_comment(struct oval_test *test) +char *oval_test_get_comment(struct oval_test *test) { return test->comment; } -char *oval_test_id(struct oval_test *test) +char *oval_test_get_id(struct oval_test *test) { return test->id; } -int oval_test_deprecated(struct oval_test *test) +int oval_test_get_deprecated(struct oval_test *test) { return test->deprecated; } -int oval_test_version(struct oval_test *test) +int oval_test_get_version(struct oval_test *test) { return test->version; } -oval_operator_enum oval_test_operator(struct oval_test * test) -{ - return test->operator; -} - -oval_existence_enum oval_test_existence(struct oval_test * test) +oval_existence_t oval_test_get_existence(struct oval_test * test) { return test->existence; } -oval_check_enum oval_test_check(struct oval_test * test) +oval_check_t oval_test_get_check(struct oval_test * test) { return test->check; } -struct oval_object *oval_test_object(struct oval_test *test) +struct oval_object *oval_test_get_object(struct oval_test *test) { return test->object; } -struct oval_state *oval_test_state(struct oval_test *test) +struct oval_state *oval_test_get_state(struct oval_test *test) { return test->state; } @@ -128,7 +122,6 @@ test->version = 0; test->check = OVAL_CHECK_UNKNOWN; test->existence = EXISTENCE_UNKNOWN; - test->operator = OPERATOR_UNKNOWN; test->subtype = OVAL_SUBTYPE_UNKNOWN; test->comment = NULL; test->id = strdup(id); @@ -165,7 +158,7 @@ test->version = version; } -void set_oval_test_subtype(struct oval_test *test, oval_subtype_enum subtype) +void set_oval_test_subtype(struct oval_test *test, oval_subtype_t subtype) { test->subtype = subtype; } @@ -177,12 +170,12 @@ } void set_oval_test_existence(struct oval_test *test, - oval_existence_enum existence) + oval_existence_t existence) { test->existence = existence; } -void set_oval_test_check(struct oval_test *test, oval_check_enum check) +void set_oval_test_check(struct oval_test *test, oval_check_t check) { test->check = check; } @@ -247,8 +240,8 @@ } } else { int linno = xmlTextReaderGetParserLineNumber(reader); - printf - ("NOTICE::(oval_test)skipping <%s> depth = %d line = %d\n", + fprintf + (stderr, "NOTICE::(oval_test)skipping <%s> depth = %d line = %d\n", tagname, xmlTextReaderDepth(reader), linno); return_code = oval_parser_skip_tag(reader, context); } @@ -258,20 +251,27 @@ } +#define DEBUG_OVAL_TEST 0 +#define STUB_OVAL_TEST 0 + int oval_test_parse_tag(xmlTextReaderPtr reader, struct oval_parser_context *context) { struct oval_object_model *model = oval_parser_context_model(context); char *id = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "id"); + if(DEBUG_OVAL_TEST){ + printf("DEBUG::oval_test.c::oval_test_parse_tag %s STUBBED = %d\n", id, STUB_OVAL_TEST); + } + struct oval_test *test = get_oval_test_new(model, id); free(id);id=test->id; - oval_subtype_enum subtype = oval_subtype_parse(reader); + oval_subtype_t subtype = oval_subtype_parse(reader); set_oval_test_subtype(test, subtype); - oval_existence_enum existence = + oval_existence_t existence = oval_existence_parse(reader, "check_existence", AT_LEAST_ONE_EXISTS); set_oval_test_existence(test, existence); - oval_check_enum check = + oval_check_t check = oval_check_parse(reader, "check", OVAL_CHECK_UNKNOWN); set_oval_test_check(test, check); char *comm = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "comment"); @@ -285,8 +285,9 @@ set_oval_test_version(test, atoi(version)); free(version);version=NULL; - int return_code = - oval_parser_parse_tag(reader, context, &_oval_test_parse_tag, test); + int return_code = (STUB_OVAL_TEST) + ?oval_parser_skip_tag(reader, context) + :oval_parser_parse_tag(reader, context, &_oval_test_parse_tag, test); return return_code; } @@ -302,25 +303,25 @@ else snprintf(nxtindent, sizeof(nxtindent), "%sTEST[%d].", indent, idx); - printf("%sID = %s\n", nxtindent, oval_test_id(test)); - printf("%sFAMILY = %d\n", nxtindent, oval_test_family(test)); - printf("%sSUBTYPE = %d\n", nxtindent, oval_test_subtype(test)); - printf("%sVERSION = %d\n", nxtindent, oval_test_version(test)); - printf("%sCOMMENT = %s\n", nxtindent, oval_test_comment(test)); - printf("%sDEPRECATED = %d\n", nxtindent, oval_test_deprecated(test)); - printf("%sEXISTENCE = %d\n", nxtindent, oval_test_existence(test)); - printf("%sCHECK = %d\n", nxtindent, oval_test_check(test)); - struct oval_iterator_string *notes = oval_test_notes(test); - for (idx = 1; oval_iterator_string_has_more(notes); idx++) { + printf("%sID = %s\n", nxtindent, oval_test_get_id(test)); + printf("%sFAMILY = %d\n", nxtindent, oval_test_get_family(test)); + printf("%sSUBTYPE = %d\n", nxtindent, oval_test_get_subtype(test)); + printf("%sVERSION = %d\n", nxtindent, oval_test_get_version(test)); + printf("%sCOMMENT = %s\n", nxtindent, oval_test_get_comment(test)); + printf("%sDEPRECATED = %d\n", nxtindent, oval_test_get_deprecated(test)); + printf("%sEXISTENCE = %d\n", nxtindent, oval_test_get_existence(test)); + printf("%sCHECK = %d\n", nxtindent, oval_test_get_check(test)); + struct oval_string_iterator *notes = oval_test_get_notes(test); + for (idx = 1; oval_string_iterator_has_more(notes); idx++) { printf("%sNOTE[%d] = %s\n", nxtindent, idx, - oval_iterator_string_next(notes)); + oval_string_iterator_next(notes)); } - struct oval_object *object = oval_test_object(test); + struct oval_object *object = oval_test_get_object(test); if (object == NULL) printf("%sOBJECT = <>\n", nxtindent); else oval_object_to_print(object, nxtindent, 0); - struct oval_state *state = oval_test_state(test); + struct oval_state *state = oval_test_get_state(test); if (state == NULL) printf("%sSTATE = <>\n", nxtindent); else @@ -329,14 +330,14 @@ xmlNode *oval_test_to_dom (struct oval_test *test, xmlDoc *doc, xmlNode *parent) { - oval_subtype_enum subtype = oval_test_subtype(test); - const char *subtype_text = oval_subtype_text(subtype); + oval_subtype_t subtype = oval_test_get_subtype(test); + const char *subtype_text = oval_subtype_get_text(subtype); char test_name[strlen(subtype_text)+6]; *test_name = '\0'; strcat(strcat(test_name, subtype_text), "_test"); xmlNode *test_node = xmlNewChild(parent, NULL, test_name, NULL); - oval_family_enum family = oval_test_family(test); - const char *family_text = oval_family_text(family); + oval_family_t family = oval_test_get_family(test); + const char *family_text = oval_family_get_text(family); char family_uri[strlen(OVAL_DEFINITIONS_NAMESPACE)+strlen(family_text)+2]; *family_uri = '\0'; strcat(strcat(strcat(family_uri, OVAL_DEFINITIONS_NAMESPACE),"#"),family_text); @@ -344,47 +345,47 @@ xmlSetNs(test_node, ns_family); - char *id = oval_test_id(test); + char *id = oval_test_get_id(test); xmlNewProp(test_node, "id", id); char version[10]; *version = '\0'; - snprintf(version, sizeof(version), "%d", oval_test_version(test)); + snprintf(version, sizeof(version), "%d", oval_test_get_version(test)); xmlNewProp(test_node, "version", version); - oval_existence_enum existence = oval_test_existence(test); + oval_existence_t existence = oval_test_get_existence(test); if(existence!=AT_LEAST_ONE_EXISTS) xmlNewProp(test_node, "check_existence", oval_existence_text(existence)); - oval_check_enum check = oval_test_check(test); + oval_check_t check = oval_test_get_check(test); xmlNewProp(test_node, "check", oval_check_text(check)); - char *comment = oval_test_comment(test); + char *comment = oval_test_get_comment(test); xmlNewProp(test_node, "comment", comment); - bool deprecated = oval_test_deprecated(test); + bool deprecated = oval_test_get_deprecated(test); if(deprecated) xmlNewProp(test_node, "deprecated", "true"); - struct oval_iterator_string *notes = oval_test_notes(test); - if(oval_iterator_string_has_more(notes)){ + struct oval_string_iterator *notes = oval_test_get_notes(test); + if(oval_string_iterator_has_more(notes)){ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *notes_node = xmlNewChild(test_node, ns_definitions, "notes", NULL); - while(oval_iterator_string_has_more(notes)){ - char *note = oval_iterator_string_next(notes); + while(oval_string_iterator_has_more(notes)){ + char *note = oval_string_iterator_next(notes); xmlNewChild(notes_node, ns_definitions, "note", note); } } - struct oval_object *object = oval_test_object(test); + struct oval_object *object = oval_test_get_object(test); if(object){ xmlNode *object_node = xmlNewChild(test_node, ns_family, "object", NULL); - xmlNewProp(object_node, "object_ref", oval_object_id(object)); + xmlNewProp(object_node, "object_ref", oval_object_get_id(object)); } - struct oval_state *state = oval_test_state(test); + struct oval_state *state = oval_test_get_state(test); if(state){ xmlNode *state_node = xmlNewChild(test_node, ns_family, "state", NULL); - xmlNewProp(state_node, "state_ref", oval_state_id(state)); + xmlNewProp(state_node, "state_ref", oval_state_get_id(state)); } return test_node; diff -u -r a/src/OVAL/oval_value.c b/src/OVAL/oval_value.c --- a/src/OVAL/oval_value.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_value.c 2009-09-21 17:13:51 -0400 @@ -35,52 +35,52 @@ #include "oval_collection_impl.h" typedef struct oval_value { - oval_datatype_enum datatype; + oval_datatype_t datatype; char *text; } oval_value_t; -int oval_iterator_value_has_more(struct oval_iterator_value *oc_value) +int oval_value_iterator_has_more(struct oval_value_iterator *oc_value) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_value); } -struct oval_value *oval_iterator_value_next(struct oval_iterator_value +struct oval_value *oval_value_iterator_next(struct oval_value_iterator *oc_value) { return (struct oval_value *) oval_collection_iterator_next((struct oval_iterator *)oc_value); } -oval_datatype_enum oval_value_datatype(struct oval_value *value) +oval_datatype_t oval_value_get_datatype(struct oval_value *value) { return (value)->datatype; } -char *oval_value_text(struct oval_value *value) +char *oval_value_get_text(struct oval_value *value) { return value->text; } -unsigned char *oval_value_binary(struct oval_value *value) +unsigned char *oval_value_get_binary(struct oval_value *value) { return NULL; //TODO: implement oval_value_binary } -bool oval_value_boolean(struct oval_value *value) +bool oval_value_get_boolean(struct oval_value *value) { if( strncmp("false", (value)->text, 5) ) return true; return false; } -float oval_value_float(struct oval_value *value) +float oval_value_get_float(struct oval_value *value) { char *endptr; return strtof( (const char *) value->text, &endptr); } -long oval_value_integer(struct oval_value *value) +long oval_value_get_integer(struct oval_value *value) { char *endptr; return strtol( (const char *) value->text, &endptr, 10); @@ -104,7 +104,7 @@ } void set_oval_value_datatype(struct oval_value *value, - oval_datatype_enum datatype) + oval_datatype_t datatype) { value->datatype = datatype; } @@ -125,7 +125,7 @@ { struct oval_value *value = oval_value_new(); int return_code; - oval_datatype_enum datatype = + oval_datatype_t datatype = oval_datatype_parse(reader, "datatype", OVAL_DATATYPE_STRING); char *text = NULL; int isNil = oval_parser_boolean_attribute(reader, "xsi:nil", 0); @@ -156,8 +156,8 @@ snprintf(nxtindent, sizeof(nxtindent), "%sVALUE[%d].", indent, idx); - printf("%sDATATYPE = %d\n", nxtindent, oval_value_datatype(value)); - printf("%sTEXT = %s\n", nxtindent, oval_value_text(value)); + printf("%sDATATYPE = %d\n", nxtindent, oval_value_get_datatype(value)); + printf("%sTEXT = %s\n", nxtindent, oval_value_get_text(value)); } xmlNode *oval_value_to_dom diff -u -r a/src/OVAL/oval_variable.c b/src/OVAL/oval_variable.c --- a/src/OVAL/oval_variable.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_variable.c 2009-09-21 17:14:28 -0400 @@ -40,8 +40,8 @@ char *comment; int version; int deprecated; - oval_variable_type_enum type; - oval_datatype_enum datatype; + oval_variable_type_t type; + oval_datatype_t datatype; void *extension; } oval_variable_t; @@ -50,8 +50,8 @@ char *comment; int version; int deprecated; - oval_variable_type_enum type; - oval_datatype_enum datatype; + oval_variable_type_t type; + oval_datatype_t datatype; struct oval_collection *values; //type==OVAL_VARIABLE_CONSTANT } oval_variable_CONSTANT_t; @@ -60,12 +60,12 @@ char *comment; int version; int deprecated; - oval_variable_type_enum type; - oval_datatype_enum datatype; + oval_variable_type_t type; + oval_datatype_t datatype; struct oval_component *component; //type==OVAL_VARIABLE_LOCAL } oval_variable_LOCAL_t; -int oval_iterator_variable_has_more(struct oval_iterator_variable +int oval_iterator_variable_has_more(struct oval_variable_iterator *oc_variable) { return oval_collection_iterator_has_more((struct oval_iterator *) @@ -73,62 +73,62 @@ } struct oval_variable *oval_iterator_variable_next(struct - oval_iterator_variable + oval_variable_iterator *oc_variable) { return (struct oval_variable *) oval_collection_iterator_next((struct oval_iterator *)oc_variable); } -char *oval_variable_id(struct oval_variable *variable) +char *oval_variable_get_id(struct oval_variable *variable) { return variable->id; } -char *oval_variable_comment(struct oval_variable *variable) +char *oval_variable_get_comment(struct oval_variable *variable) { return variable->comment; } -int oval_variable_version(struct oval_variable *variable) +int oval_variable_get_version(struct oval_variable *variable) { return variable->version; } -int oval_variable_deprecated(struct oval_variable *variable) +int oval_variable_get_deprecated(struct oval_variable *variable) { return variable->deprecated; } -oval_variable_type_enum oval_variable_type(struct oval_variable * variable) +oval_variable_type_t oval_variable_get_type(struct oval_variable * variable) { return variable->type; } -oval_datatype_enum oval_variable_datatype(struct oval_variable * variable) +oval_datatype_t oval_variable_get_datatype(struct oval_variable * variable) { return variable->datatype; } -struct oval_iterator_value *oval_variable_values(struct oval_variable *variable) +struct oval_value_iterator *oval_variable_get_values(struct oval_variable *variable) { //type==OVAL_VARIABLE_CONSTANT - struct oval_iterator_value *values = NULL; - if (oval_variable_type(variable) == OVAL_VARIABLE_CONSTANT) { + struct oval_value_iterator *values = NULL; + if (oval_variable_get_type(variable) == OVAL_VARIABLE_CONSTANT) { oval_variable_CONSTANT_t *constant = (oval_variable_CONSTANT_t *) variable; values = - (struct oval_iterator_value *) + (struct oval_value_iterator *) oval_collection_iterator(constant->values); } return values; } -struct oval_component *oval_variable_component(struct oval_variable *variable) +struct oval_component *oval_variable_get_component(struct oval_variable *variable) { //type==OVAL_VARIABLE_LOCAL struct oval_component *component = NULL; - if (oval_variable_type(variable) == OVAL_VARIABLE_LOCAL) { + if (oval_variable_get_type(variable) == OVAL_VARIABLE_LOCAL) { oval_variable_LOCAL_t *local = (oval_variable_LOCAL_t *) variable; component = local->component; @@ -137,7 +137,7 @@ } void _set_oval_variable_type - (struct oval_variable *variable, oval_variable_type_enum type) + (struct oval_variable *variable, oval_variable_type_t type) { variable->type = type; switch(type) @@ -151,7 +151,7 @@ } } - struct oval_variable *oval_variable_new(char *id, oval_variable_type_enum type) + struct oval_variable *oval_variable_new(char *id, oval_variable_type_t type) { oval_variable_t *variable = (oval_variable_t *) malloc(sizeof(oval_variable_t)); @@ -196,7 +196,7 @@ } void set_oval_variable_datatype(struct oval_variable *variable, - oval_datatype_enum datatype) + oval_datatype_t datatype) { variable->datatype = datatype; } @@ -297,7 +297,7 @@ { struct oval_object_model *model = oval_parser_context_model(context); char *tagname = (char*) xmlTextReaderName(reader); - oval_variable_type_enum type; + oval_variable_type_t type; if (strcmp(tagname, "constant_variable") == 0) type = OVAL_VARIABLE_CONSTANT; else if (strcmp(tagname, "external_variable") == 0) @@ -307,8 +307,8 @@ else { type = OVAL_VARIABLE_UNKNOWN; int line = xmlTextReaderGetParserLineNumber(reader); - printf - ("NOTICE::oval_variable_parse_tag: <%s> unhandled variable type::line = %d\n", + fprintf + (stderr, "NOTICE::oval_variable_parse_tag: <%s> unhandled variable type::line = %d\n", tagname, line); } char *id = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "id"); @@ -329,7 +329,7 @@ set_oval_variable_version(variable, atoi(version)); free(version);version = NULL; - oval_datatype_enum datatype = + oval_datatype_t datatype = oval_datatype_parse(reader, "datatype", OVAL_DATATYPE_UNKNOWN); set_oval_variable_datatype(variable, datatype); int return_code = 1; @@ -373,27 +373,27 @@ else snprintf(nxtindent, sizeof(nxtindent), "%sVARIABLE[%d].", indent, idx); - printf("%sID = %s\n", nxtindent, oval_variable_id(variable)); + printf("%sID = %s\n", nxtindent, oval_variable_get_id(variable)); printf("%sVERSION = %d\n", nxtindent, - oval_variable_version(variable)); + oval_variable_get_version(variable)); printf("%sCOMMENT = %s\n", nxtindent, - oval_variable_comment(variable)); + oval_variable_get_comment(variable)); printf("%sDEPRECATED = %d\n", nxtindent, - oval_variable_deprecated(variable)); - printf("%sTYPE = %d\n", nxtindent, oval_variable_type(variable)); + oval_variable_get_deprecated(variable)); + printf("%sTYPE = %d\n", nxtindent, oval_variable_get_type(variable)); printf("%sDATATYPE = %d\n", nxtindent, - oval_variable_datatype(variable)); - switch (oval_variable_type(variable)) { + oval_variable_get_datatype(variable)); + switch (oval_variable_get_type(variable)) { case OVAL_VARIABLE_CONSTANT:{ - struct oval_iterator_value *values = - oval_variable_values(variable); - if (oval_iterator_value_has_more(values)) { + struct oval_value_iterator *values = + oval_variable_get_values(variable); + if (oval_value_iterator_has_more(values)) { int i; for (i = 0; - oval_iterator_value_has_more(values); + oval_value_iterator_has_more(values); i++) { struct oval_value *value = - oval_iterator_value_next(values); + oval_value_iterator_next(values); oval_value_to_print(value, nxtindent, i); } @@ -409,7 +409,7 @@ break; case OVAL_VARIABLE_LOCAL:{ struct oval_component *component = - oval_variable_component(variable); + oval_variable_get_component(variable); if (component == NULL) printf ("%sCOMPONENT = <>\n", @@ -428,9 +428,9 @@ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *variable_node = xmlNewChild(parent, ns_definitions, BAD_CAST "constant_variable", NULL); - struct oval_iterator_value *values = oval_variable_values(variable); - while(oval_iterator_value_has_more(values)){ - struct oval_value *value = oval_iterator_value_next(values); + struct oval_value_iterator *values = oval_variable_get_values(variable); + while(oval_value_iterator_has_more(values)){ + struct oval_value *value = oval_value_iterator_next(values); oval_value_to_dom(value, doc, variable_node); } @@ -450,7 +450,7 @@ xmlNs *ns_definitions = xmlSearchNsByHref(doc, parent, OVAL_DEFINITIONS_NAMESPACE); xmlNode *variable_node = xmlNewChild(parent, ns_definitions, BAD_CAST "local_variable", NULL); - struct oval_component *component = oval_variable_component(variable); + struct oval_component *component = oval_variable_get_component(variable); oval_component_to_dom(component, doc, variable_node); return variable_node; @@ -460,7 +460,7 @@ { xmlNode *variable_node = NULL; - switch(oval_variable_type(variable)) + switch(oval_variable_get_type(variable)) { case OVAL_VARIABLE_CONSTANT:{ variable_node = _oval_VARIABLE_CONSTANT_to_dom(variable, doc, parent); @@ -474,20 +474,20 @@ default:break; }; - char *id = oval_variable_id(variable); + char *id = oval_variable_get_id(variable); xmlNewProp(variable_node, "id", id); char version[10]; *version = '\0'; - snprintf(version, sizeof(version), "%d", oval_variable_version(variable)); + snprintf(version, sizeof(version), "%d", oval_variable_get_version(variable)); xmlNewProp(variable_node, "version", version); - oval_datatype_enum datatype = oval_variable_datatype(variable); + oval_datatype_t datatype = oval_variable_get_datatype(variable); xmlNewProp(variable_node, "datatype", oval_datatype_text(datatype)); - char *comment = oval_variable_comment(variable); + char *comment = oval_variable_get_comment(variable); xmlNewProp(variable_node, "comment", comment); - bool deprecated = oval_variable_deprecated(variable); + bool deprecated = oval_variable_get_deprecated(variable); if(deprecated) xmlNewProp(variable_node, "deprecated", "true"); diff -u -r a/src/OVAL/oval_variableBinding.c b/src/OVAL/oval_variableBinding.c --- a/src/OVAL/oval_variableBinding.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/oval_variableBinding.c 2009-09-21 15:57:34 -0400 @@ -41,16 +41,16 @@ char *value; } oval_variable_binding_t; -int oval_iterator_variable_binding_has_more(struct - oval_iterator_variable_binding +int oval_variable_binding_iterator_has_more(struct + oval_variable_binding_iterator *oc_variable_binding) { return oval_collection_iterator_has_more((struct oval_iterator *) oc_variable_binding); } -struct oval_variable_binding *oval_iterator_variable_binding_next(struct - oval_iterator_variable_binding +struct oval_variable_binding *oval_variable_binding_iterator_next(struct + oval_variable_binding_iterator *oc_variable_binding) { return (struct oval_variable_binding *) @@ -58,14 +58,14 @@ oc_variable_binding); } -struct oval_variable *oval_variable_binding_variable(struct +struct oval_variable *oval_variable_binding_get_variable(struct oval_variable_binding *binding) { return ((struct oval_variable_binding *)binding)->variable; } -char *oval_variable_binding_value(struct oval_variable_binding *binding) +char *oval_variable_binding_get_value(struct oval_variable_binding *binding) { return ((struct oval_variable_binding *)binding)->value; } @@ -136,8 +136,8 @@ int numchars = 0; char debug[2000];debug[numchars]='\0'; numchars = numchars + sprintf(debug+numchars,"oval_variable_binding_parse_tag::"); - numchars = numchars + sprintf(debug+numchars,"\n binding->variable = %s",oval_variable_id(oval_variable_binding_variable(binding))); - numchars = numchars + sprintf(debug+numchars,"\n binding->value = %s",oval_variable_binding_value(binding)); + numchars = numchars + sprintf(debug+numchars,"\n binding->variable = %s",oval_variable_get_id(oval_variable_binding_get_variable(binding))); + numchars = numchars + sprintf(debug+numchars,"\n binding->value = %s",oval_variable_binding_get_value(binding)); oval_parser_log_debug(context, debug); } (*consumer)(binding, client); @@ -150,11 +150,11 @@ xmlNs *ns_syschar = xmlSearchNsByHref(doc, tag_parent, OVAL_SYSCHAR_NAMESPACE); xmlNode *tag_variable_binding = xmlNewChild (tag_parent, ns_syschar, BAD_CAST "variable_value", - BAD_CAST oval_variable_binding_value(binding)); + BAD_CAST oval_variable_binding_get_value(binding)); {//attributes - struct oval_variable *variable = oval_variable_binding_variable(binding); - xmlNewProp(tag_variable_binding, BAD_CAST "variable_id", BAD_CAST oval_variable_id(variable)); + struct oval_variable *variable = oval_variable_binding_get_variable(binding); + xmlNewProp(tag_variable_binding, BAD_CAST "variable_id", BAD_CAST oval_variable_get_id(variable)); } } } diff -u -r a/src/OVAL/ovalsys_parser.c b/src/OVAL/ovalsys_parser.c --- a/src/OVAL/ovalsys_parser.c 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/ovalsys_parser.c 2009-09-21 14:40:34 -0400 @@ -119,7 +119,7 @@ struct oval_parser_context context; context.error_handler = eh; context.reader = reader; - context.object_model = oval_syschar_model_object_model(model); + context.object_model = oval_syschar_model_get_object_model(model); context.syschar_model = model; context.syschar_sysinfo = NULL; context.user_data = user_arg; diff -u -r a/src/OVAL/probes/probe-entcmp.h b/src/OVAL/probes/probe-entcmp.h --- a/src/OVAL/probes/probe-entcmp.h 2009-09-17 08:43:09 -0400 +++ b/src/OVAL/probes/probe-entcmp.h 2009-09-21 17:13:16 -0400 @@ -6,20 +6,20 @@ #include "api/oval_definitions.h" #include "api/oval_results.h" -oval_result_enum SEXP_OVALent_result_bychk(SEXP_t *res_lst, oval_check_enum check); -oval_result_enum SEXP_OVALent_result_byopr(SEXP_t *res_lst, oval_operator_enum operator); +oval_result_t SEXP_OVALent_result_bychk(SEXP_t *res_lst, oval_check_t check); +oval_result_t SEXP_OVALent_result_byopr(SEXP_t *res_lst, oval_operator_t operator); -oval_result_enum SEXP_OVALentobj_cmp(SEXP_t *ent_obj, SEXP_t *val); -oval_result_enum SEXP_OVALentste_cmp(SEXP_t *ent_ste, SEXP_t *ent_itm); -oval_result_enum SEXP_OVALent_cmp_binary(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_binary(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_bool(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_evr(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_filesetrev(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_float(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_int(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_ios(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_version(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); -oval_result_enum SEXP_OVALent_cmp_string(SEXP_t *val1, SEXP_t *val2, oval_operation_enum op); +oval_result_t SEXP_OVALentobj_cmp(SEXP_t *ent_obj, SEXP_t *val); +oval_result_t SEXP_OVALentste_cmp(SEXP_t *ent_ste, SEXP_t *ent_itm); +oval_result_t SEXP_OVALent_cmp_binary(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_binary(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_bool(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_evr(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_filesetrev(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_float(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_int(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_ios(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_version(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); +oval_result_t SEXP_OVALent_cmp_string(SEXP_t *val1, SEXP_t *val2, oval_operation_t op); #endif