39#ifndef OVAL_DEFINITIONS
40#define OVAL_DEFINITIONS
43#include "oscap_source.h"
46#include "oval_schema_version.h"
48#include "oscap_export.h"
56 OVAL_AFCFML_UNKNOWN = 0,
57 OVAL_AFCFML_CATOS = 1,
59 OVAL_AFCFML_MACOS = 3,
60 OVAL_AFCFML_PIXOS = 4,
61 OVAL_AFCFML_UNDEFINED = 5,
63 OVAL_AFCFML_WINDOWS = 7
68 OVAL_NODETYPE_UNKNOWN = 0,
69 OVAL_NODETYPE_CRITERIA = 1,
70 OVAL_NODETYPE_CRITERION = 2,
71 OVAL_NODETYPE_EXTENDDEF = 3
76 OVAL_OPERATOR_UNKNOWN = 0,
77 OVAL_OPERATOR_AND = 1,
78 OVAL_OPERATOR_ONE = 2,
85 OVAL_OPERATION_UNKNOWN = 0,
86 OVAL_OPERATION_BITWISE_AND,
87 OVAL_OPERATION_BITWISE_OR,
88 OVAL_OPERATION_CASE_INSENSITIVE_EQUALS,
89 OVAL_OPERATION_CASE_INSENSITIVE_NOT_EQUAL,
90 OVAL_OPERATION_EQUALS,
91 OVAL_OPERATION_GREATER_THAN,
92 OVAL_OPERATION_GREATER_THAN_OR_EQUAL,
93 OVAL_OPERATION_LESS_THAN,
94 OVAL_OPERATION_LESS_THAN_OR_EQUAL,
95 OVAL_OPERATION_NOT_EQUAL,
96 OVAL_OPERATION_PATTERN_MATCH,
97 OVAL_OPERATION_SUBSET_OF,
98 OVAL_OPERATION_SUPERSET_OF,
104 OVAL_EXISTENCE_UNKNOWN = 0,
107 OVAL_AT_LEAST_ONE_EXISTS = 3,
108 OVAL_ONLY_ONE_EXISTS = 4,
114 OVAL_CHECK_UNKNOWN = 0,
116 OVAL_CHECK_AT_LEAST_ONE = 2,
117 OVAL_CHECK_NONE_EXIST = 3,
118 OVAL_CHECK_NONE_SATISFY = 4,
119 OVAL_CHECK_ONLY_ONE = 5
124 OVAL_OBJECTCONTENT_UNKNOWN = 0,
125 OVAL_OBJECTCONTENT_ENTITY = 1,
126 OVAL_OBJECTCONTENT_SET = 2,
127 OVAL_OBJECTCONTENT_FILTER = 3
132 OVAL_ENTITY_TYPE_UNKNOWN,
133 OVAL_ENTITY_TYPE_ANY,
134 OVAL_ENTITY_TYPE_BINARY,
135 OVAL_ENTITY_TYPE_BOOLEAN,
136 OVAL_ENTITY_TYPE_FLOAT,
137 OVAL_ENTITY_TYPE_INTEGER,
138 OVAL_ENTITY_TYPE_STRING,
143 OVAL_FILTER_ACTION_UNKNOWN = 0,
144 OVAL_FILTER_ACTION_EXCLUDE,
145 OVAL_FILTER_ACTION_INCLUDE
150 OVAL_DATATYPE_UNKNOWN = 0,
151 OVAL_DATATYPE_BINARY,
152 OVAL_DATATYPE_BOOLEAN,
153 OVAL_DATATYPE_EVR_STRING,
154 OVAL_DATATYPE_FILESET_REVISION,
156 OVAL_DATATYPE_INTEGER,
157 OVAL_DATATYPE_IOS_VERSION,
158 OVAL_DATATYPE_IPV4ADDR,
159 OVAL_DATATYPE_IPV6ADDR,
160 OVAL_DATATYPE_RECORD,
162 OVAL_DATATYPE_STRING,
163 OVAL_DATATYPE_STRING_M,
164 OVAL_DATATYPE_VERSION,
165 OVAL_DATATYPE_DEBIAN_EVR_STRING
170 OVAL_ENTITY_VARREF_UNKNOWN,
171 OVAL_ENTITY_VARREF_NONE,
172 OVAL_ENTITY_VARREF_ATTRIBUTE,
173 OVAL_ENTITY_VARREF_ELEMENT
185 OVAL_SET_OPERATION_UNKNOWN,
186 OVAL_SET_OPERATION_COMPLEMENT = 1,
187 OVAL_SET_OPERATION_INTERSECTION = 2,
188 OVAL_SET_OPERATION_UNION = 3
193 OVAL_VARIABLE_UNKNOWN,
194 OVAL_VARIABLE_EXTERNAL,
195 OVAL_VARIABLE_CONSTANT,
199#define OVAL_FUNCTION 4
202 OVAL_COMPONENT_UNKNOWN = 0,
203 OVAL_COMPONENT_LITERAL = 1,
204 OVAL_COMPONENT_OBJECTREF = 2,
205 OVAL_COMPONENT_VARREF = 3,
206 OVAL_COMPONENT_FUNCTION = 4,
207 OVAL_FUNCTION_BEGIN = OVAL_FUNCTION + 1,
208 OVAL_FUNCTION_CONCAT = OVAL_FUNCTION + 2,
209 OVAL_FUNCTION_END = OVAL_FUNCTION + 3,
210 OVAL_FUNCTION_SPLIT = OVAL_FUNCTION + 4,
211 OVAL_FUNCTION_SUBSTRING = OVAL_FUNCTION + 5,
212 OVAL_FUNCTION_TIMEDIF = OVAL_FUNCTION + 6,
213 OVAL_FUNCTION_ESCAPE_REGEX = OVAL_FUNCTION + 7,
214 OVAL_FUNCTION_REGEX_CAPTURE = OVAL_FUNCTION + 8,
215 OVAL_FUNCTION_ARITHMETIC = OVAL_FUNCTION + 9,
216 OVAL_FUNCTION_COUNT = OVAL_FUNCTION + 10,
217 OVAL_FUNCTION_UNIQUE = OVAL_FUNCTION + 11,
218 OVAL_FUNCTION_GLOB_TO_REGEX = OVAL_FUNCTION + 12,
219 OVAL_FUNCTION_LAST = OVAL_FUNCTION + 13
224 OVAL_ARITHMETIC_UNKNOWN = 0,
225 OVAL_ARITHMETIC_ADD = 1,
226 OVAL_ARITHMETIC_MULTIPLY = 2,
227 OVAL_ARITHMETIC_SUBTRACT = 3,
228 OVAL_ARITHMETIC_DIVIDE = 4
233 OVAL_DATETIME_UNKNOWN = 0,
234 OVAL_DATETIME_YEAR_MONTH_DAY = 1,
235 OVAL_DATETIME_MONTH_DAY_YEAR = 2,
236 OVAL_DATETIME_DAY_MONTH_YEAR = 3,
237 OVAL_DATETIME_WIN_FILETIME = 4,
238 OVAL_DATETIME_SECONDS_SINCE_EPOCH = 5,
239 OVAL_DATETIME_CIM_DATETIME = 6
243 OVAL_RECORD_FIELD_UNKNOWN = 0,
244 OVAL_RECORD_FIELD_STATE = 1,
245 OVAL_RECORD_FIELD_ITEM = 2,
246} oval_record_field_type_t;
255OSCAP_API
oval_subtype_t oval_subtype_from_str(
const char *family_str,
const char *subtype_str);
344struct oval_variable_possible_value_iterator;
349struct oval_variable_possible_restriction_iterator;
354struct oval_variable_restriction_iterator;
479struct oval_setobject_iterator;
602OSCAP_API
void oval_generator_free(
struct oval_generator *generator);
604OSCAP_API
char *oval_generator_get_product_name(
struct oval_generator *generator);
605OSCAP_API
char *oval_generator_get_product_version(
struct oval_generator *generator);
606OSCAP_API
const char *oval_generator_get_core_schema_version(
struct oval_generator *generator);
607OSCAP_API
char *oval_generator_get_timestamp(
struct oval_generator *generator);
608OSCAP_API
const char *oval_generator_get_platform_schema_version (
struct oval_generator *generator,
const char *platform);
609OSCAP_API
void oval_generator_set_product_name(
struct oval_generator *generator,
const char *product_name);
610OSCAP_API
void oval_generator_set_product_version(
struct oval_generator *generator,
const char *product_version);
611OSCAP_API
void oval_generator_set_core_schema_version(
struct oval_generator *generator,
const char *schema_version);
612OSCAP_API
void oval_generator_add_platform_schema_version(
struct oval_generator *generator,
const char *platform,
const char *schema_version);
613OSCAP_API
void oval_generator_set_timestamp(
struct oval_generator *generator,
const char *timestamp);
614OSCAP_API
void oval_generator_update_timestamp(
struct oval_generator *generator);
751OSCAP_API
const char * oval_definition_model_supported(
void);
814OSCAP_API
void oval_definition_set_version(
struct oval_definition *,
int version);
828OSCAP_API
void oval_definition_set_deprecated(
struct oval_definition *,
bool deprecated);
836OSCAP_API
void oval_definition_set_title(
struct oval_definition *,
char *title);
844OSCAP_API
void oval_definition_set_description(
struct oval_definition *,
char *description);
872OSCAP_API
void oval_definition_add_note(
struct oval_definition *,
char *note);
913OSCAP_API
bool oval_definition_get_deprecated(
struct oval_definition *);
925OSCAP_API
char *oval_definition_get_description(
struct oval_definition *);
1014OSCAP_API
void oval_test_free(
struct oval_test *);
1035OSCAP_API
void oval_test_add_note(
struct oval_test *,
char *note);
1041OSCAP_API
void oval_test_set_comment(
struct oval_test *,
char *comment);
1046OSCAP_API
void oval_test_set_deprecated(
struct oval_test *,
bool deprecated);
1055OSCAP_API
void oval_test_set_version(
struct oval_test *,
int version);
1123OSCAP_API
char *oval_test_get_comment(
struct oval_test *);
1129OSCAP_API
char *oval_test_get_id(
struct oval_test *);
1134OSCAP_API
bool oval_test_get_deprecated(
struct oval_test *);
1139OSCAP_API
int oval_test_get_version(
struct oval_test *);
1227OSCAP_API
void oval_object_free(
struct oval_object *);
1248OSCAP_API
void oval_object_add_note(
struct oval_object *,
char *note);
1255OSCAP_API
void oval_object_set_comment(
struct oval_object *,
char *comment);
1261OSCAP_API
void oval_object_set_deprecated(
struct oval_object *,
bool deprecated);
1270OSCAP_API
void oval_object_set_version(
struct oval_object *,
int version);
1313OSCAP_API
const char *oval_object_get_name(
struct oval_object *);
1331OSCAP_API
char *oval_object_get_comment(
struct oval_object *);
1337OSCAP_API
char *oval_object_get_id(
struct oval_object *);
1343OSCAP_API
bool oval_object_get_deprecated(
struct oval_object *);
1348OSCAP_API
int oval_object_get_version(
struct oval_object *);
1428OSCAP_API
void oval_state_free(
struct oval_state *);
1449OSCAP_API
void oval_state_add_note(
struct oval_state *,
char *note);
1455OSCAP_API
void oval_state_set_comment(
struct oval_state *,
char *comment);
1460OSCAP_API
void oval_state_set_deprecated(
struct oval_state *,
bool deprecated);
1469OSCAP_API
void oval_state_set_version(
struct oval_state *,
int version);
1504OSCAP_API
const char *oval_state_get_name(
struct oval_state *);
1522OSCAP_API
char *oval_state_get_comment(
struct oval_state *);
1528OSCAP_API
char *oval_state_get_id(
struct oval_state *);
1533OSCAP_API
bool oval_state_get_deprecated(
struct oval_state *);
1538OSCAP_API
int oval_state_get_version(
struct oval_state *);
1543OSCAP_API
int oval_state_get_operator(
struct oval_state *);
1650OSCAP_API
bool oval_variable_possible_value_iterator_has_more(
struct oval_variable_possible_value_iterator*);
1654OSCAP_API
struct oval_variable_possible_value *oval_variable_possible_value_iterator_next(
struct oval_variable_possible_value_iterator*);
1658OSCAP_API
int oval_variable_possible_value_iterator_remaining(
struct oval_variable_possible_value_iterator*);
1662OSCAP_API
void oval_variable_possible_value_iterator_free(
struct oval_variable_possible_value_iterator*);
1689OSCAP_API
bool oval_variable_possible_restriction_iterator_has_more(
struct oval_variable_possible_restriction_iterator* iter);
1697OSCAP_API
int oval_variable_possible_restriction_iterator_remaining(
struct oval_variable_possible_restriction_iterator* iter);
1701OSCAP_API
void oval_variable_possible_restriction_iterator_free(
struct oval_variable_possible_restriction_iterator* iter);
1738OSCAP_API
bool oval_variable_restriction_iterator_has_more(
struct oval_variable_restriction_iterator*);
1742OSCAP_API
struct oval_variable_restriction *oval_variable_restriction_iterator_next(
struct oval_variable_restriction_iterator*);
1746OSCAP_API
int oval_variable_restriction_iterator_remaining(
struct oval_variable_restriction_iterator*);
1750OSCAP_API
void oval_variable_restriction_iterator_free(
struct oval_variable_restriction_iterator*);
1765OSCAP_API
void oval_variable_set_comment(
struct oval_variable *,
char *comment);
1773OSCAP_API
void oval_variable_set_version(
struct oval_variable *,
int version);
1779OSCAP_API
void oval_variable_set_deprecated(
struct oval_variable *,
bool deprecated);
1803OSCAP_API
void oval_variable_clear_values(
struct oval_variable *);
1853OSCAP_API
char *oval_variable_get_id(
struct oval_variable *);
1859OSCAP_API
char *oval_variable_get_comment(
struct oval_variable *);
1864OSCAP_API
int oval_variable_get_version(
struct oval_variable *);
1869OSCAP_API
bool oval_variable_get_deprecated(
struct oval_variable *);
1902OSCAP_API
struct oval_variable_possible_value_iterator *oval_variable_get_possible_values2(
struct oval_variable *variable);
1910OSCAP_API
struct oval_variable_possible_restriction_iterator *oval_variable_get_possible_restrictions2(
struct oval_variable *variable);
1919OSCAP_API
struct oval_variable_restriction_iterator *oval_variable_possible_restriction_get_restrictions2(
struct oval_variable_possible_restriction *possible_restriction);
1999OSCAP_API
void oval_affected_add_platform(
struct oval_affected *,
char *platform_name);
2004OSCAP_API
void oval_affected_add_product(
struct oval_affected *,
char *product_name);
2087OSCAP_API
void oval_reference_set_source(
struct oval_reference *,
char *);
2091OSCAP_API
void oval_reference_set_id(
struct oval_reference *,
char *);
2095OSCAP_API
void oval_reference_set_url(
struct oval_reference *,
char *);
2107OSCAP_API
char *oval_reference_get_source(
struct oval_reference *);
2189OSCAP_API
void oval_criteria_node_set_negate(
struct oval_criteria_node *,
bool negate);
2195OSCAP_API
void oval_criteria_node_set_applicability_check(
struct oval_criteria_node *,
bool applicability_check);
2207OSCAP_API
void oval_criteria_node_set_comment(
struct oval_criteria_node *,
char *comment);
2263OSCAP_API
bool oval_criteria_node_get_applicability_check(
struct oval_criteria_node *);
2463OSCAP_API
void oval_behavior_set_keyval(
struct oval_behavior *behavior,
const char *key,
const char *value);
2475OSCAP_API
char *oval_behavior_get_key(
struct oval_behavior *);
2481OSCAP_API
char *oval_behavior_get_value(
struct oval_behavior *);
2615OSCAP_API
void oval_value_free(
struct oval_value *);
2640OSCAP_API
char *oval_value_get_text(
struct oval_value *);
2645OSCAP_API
unsigned char *oval_value_get_binary(
struct oval_value *);
2650OSCAP_API
bool oval_value_get_boolean(
struct oval_value *);
2655OSCAP_API
float oval_value_get_float(
struct oval_value *);
2660OSCAP_API
long long oval_value_get_integer(
struct oval_value *);
2703OSCAP_API
void oval_entity_free(
struct oval_entity *);
2720OSCAP_API
void oval_entity_set_mask(
struct oval_entity *,
int);
2736OSCAP_API
void oval_entity_set_name(
struct oval_entity *,
char *);
2752OSCAP_API
char *oval_entity_get_name(
struct oval_entity *);
2784OSCAP_API
int oval_entity_get_mask(
struct oval_entity *);
2819OSCAP_API
struct oval_record_field *oval_record_field_new(oval_record_field_type_t);
2874OSCAP_API oval_record_field_type_t oval_record_field_get_type(
struct oval_record_field *);
2940OSCAP_API
void oval_filter_free(
struct oval_filter *);
3058OSCAP_API
struct oval_setobject_iterator *oval_setobject_get_subsets(
struct oval_setobject *);
3084OSCAP_API
bool oval_setobject_iterator_has_more(
struct oval_setobject_iterator *);
3088OSCAP_API
struct oval_setobject *oval_setobject_iterator_next(
struct oval_setobject_iterator *);
3092OSCAP_API
void oval_setobject_iterator_free(
struct oval_setobject_iterator *);
3177OSCAP_API
void oval_component_set_item_field(
struct oval_component *,
char *);
3182OSCAP_API
void oval_component_set_record_field(
struct oval_component *,
char *);
3200OSCAP_API
void oval_component_set_prefix(
struct oval_component *,
char *);
3204OSCAP_API
void oval_component_set_suffix(
struct oval_component *,
char *);
3208OSCAP_API
void oval_component_set_split_delimiter(
struct oval_component *,
char *);
3212OSCAP_API
void oval_component_set_glob_to_regex_glob_noescape(
struct oval_component *,
bool);
3216OSCAP_API
void oval_component_set_substring_start(
struct oval_component *,
int);
3220OSCAP_API
void oval_component_set_substring_length(
struct oval_component *,
int);
3232OSCAP_API
void oval_component_set_regex_pattern(
struct oval_component *,
char *);
3262OSCAP_API
char *oval_component_get_item_field(
struct oval_component *);
3269OSCAP_API
char *oval_component_get_record_field(
struct oval_component *);
3299OSCAP_API
char *oval_component_get_prefix(
struct oval_component *);
3307OSCAP_API
char *oval_component_get_suffix(
struct oval_component *);
3315OSCAP_API
char *oval_component_get_split_delimiter(
struct oval_component *);
3322OSCAP_API
bool oval_component_get_glob_to_regex_glob_noescape(
struct oval_component *);
3328OSCAP_API
int oval_component_get_substring_start(
struct oval_component *);
3334OSCAP_API
int oval_component_get_substring_length(
struct oval_component *);
3354OSCAP_API
char *oval_component_get_regex_pattern(
struct oval_component *);
OSCAP_API void oval_component_iterator_free(struct oval_component_iterator *)
Free the iterator.
Definition oval_component.c:266
OSCAP_API struct oval_component * oval_component_iterator_next(struct oval_component_iterator *)
return the next instance of Oval_component.
Definition oval_component.c:260
oval_family_t oval_subtype_get_family(oval_subtype_t subtype)
Get the family associated with a given subtype.
Definition oval_enumerations.c:867
oval_operation_t
Operations.
Definition oval_definitions.h:84
oval_variable_type_t
OVAL variable types.
Definition oval_definitions.h:192
oval_filter_action_t
Type of filter action.
Definition oval_definitions.h:142
OSCAP_API int oval_component_iterator_remaining(struct oval_component_iterator *)
How many remains.
Definition oval_component.c:255
oval_existence_t
Existence check enumeration.
Definition oval_definitions.h:103
oval_setobject_operation_t
Set operations.
Definition oval_definitions.h:184
oval_criteria_node_type_t
Criteria node type.
Definition oval_definitions.h:67
oval_affected_family_t
Affected family enumeration.
Definition oval_definitions.h:55
oval_check_t
Check enumeration.
Definition oval_definitions.h:113
oval_component_type_t
Component types.
Definition oval_definitions.h:201
oval_entity_type_t
Type of OVAL entity.
Definition oval_definitions.h:131
oval_setobject_type_t
OVAL set object types.
Definition oval_definitions.h:177
oval_operator_t
Boolean operators.
Definition oval_definitions.h:75
oval_arithmetic_operation_t
Arithmetic format enumeration.
Definition oval_definitions.h:223
oval_datetime_format_t
Datetime format enumeration.
Definition oval_definitions.h:232
oval_datatype_t
Datatypes.
Definition oval_definitions.h:149
oval_entity_varref_type_t
Varref types.
Definition oval_definitions.h:169
oval_object_content_type_t
Type of object content.
Definition oval_definitions.h:123
OSCAP_API bool oval_component_iterator_has_more(struct oval_component_iterator *)
Return true if the iterator is not exhausted.
Definition oval_component.c:250
oval_family_t
OVAL family.
Definition oval_types.h:41
oval_subtype_t
Unknown subtypes.
Definition oval_types.h:127
General OpenScap functions and types.
oval_definition_class_t
Definition oval_types.h:471
Definition oscap_source.c:66
Each OVAL Definition specifies certain type of affected system(s).
Definition oval_affected.c:52
OVAL behavior.
Definition oval_behavior.c:50
OVAL variable component Oval_component instances specify evaluation constraints on local variables (s...
Definition oval_component.c:123
Specify oval_definition dependencies.
Definition oval_criteriaNode.c:50
Oval definition model.
Definition oval_defModel.c:53
Oval definition specification.
Definition oval_definition.c:53
OVAL entity.
Definition oval_entity.c:54
OVAL filter.
Definition oval_filter.c:43
Definition oval_generator.c:47
An Oval_object_content instance specifies an oval_object field.
Definition oval_objectContent.c:44
An Oval_object instance describes a set of items to look for on an instrumented host platform.
Definition oval_object.c:45
Definition oval_recordField.c:35
An Oval_reference links an Oval_definition to a definitive external reference.
Definition oval_reference.c:43
Definition oval_schema_version.h:41
OVAL set object.
Definition oval_set.c:45
An Oval_state_content instance specifies an oval_state field.
Definition oval_stateContent.c:45
An Oval_state instance is a collection of one or more characteristics pertaining to a specific object...
Definition oval_state.c:45
An Oval_test specifies a technical control by identifying an oval_object that is evaluated on an inst...
Definition oval_test.c:48
OVAL object or item entity value.
Definition oval_value.c:45
The OVAL variable model facilitates access to external variable value bindings used to to constrain t...
Definition oval_varModel.c:56
Definition oval_variable.c:96
Definition oval_variable.c:91
Definition oval_variable.c:102
An oval variable resolves an oval_value stream which specifies constraints for oval_object s and ova...
Definition oval_variable.c:50