00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00048 #ifndef XCCDF_H_
00049 #define XCCDF_H_
00050
00051 #include <stdbool.h>
00052 #include <time.h>
00053 #include "oscap.h"
00054
00055
00056
00057
00058
00067 typedef enum {
00068 XCCDF_BENCHMARK = 0x0100,
00069 XCCDF_PROFILE = 0x0200,
00070 XCCDF_RESULT = 0x0400,
00071 XCCDF_RULE = 0x1000,
00072 XCCDF_GROUP = 0x2000,
00073 XCCDF_VALUE = 0x4000,
00074
00075 XCCDF_CONTENT = XCCDF_RULE | XCCDF_GROUP,
00077 XCCDF_ITEM = XCCDF_RULE | XCCDF_GROUP | XCCDF_VALUE,
00079 XCCDF_OBJECT = XCCDF_ITEM | XCCDF_PROFILE | XCCDF_BENCHMARK | XCCDF_RESULT,
00080 } xccdf_type_t;
00081
00083 typedef enum {
00084 XCCDF_IFACE_HINT_NONE,
00085 XCCDF_IFACE_HINT_CHOICE,
00086 XCCDF_IFACE_HINT_TEXTLINE,
00087 XCCDF_IFACE_HINT_TEXT,
00088 XCCDF_IFACE_HINT_DATE,
00089 XCCDF_IFACE_HINT_DATETIME,
00090 } xccdf_interface_hint_t;
00091
00093 typedef enum {
00094 XCCDF_STATUS_NOT_SPECIFIED,
00095 XCCDF_STATUS_ACCEPTED,
00096 XCCDF_STATUS_DEPRECATED,
00097 XCCDF_STATUS_DRAFT,
00098 XCCDF_STATUS_INCOMPLETE,
00099 XCCDF_STATUS_INTERIM
00100 } xccdf_status_type_t;
00101
00103 typedef enum {
00104 XCCDF_TYPE_NUMBER = 1,
00105 XCCDF_TYPE_STRING,
00106 XCCDF_TYPE_BOOLEAN,
00107 } xccdf_value_type_t;
00108
00110 typedef enum {
00111 XCCDF_OPERATOR_EQUALS = 1,
00112 XCCDF_OPERATOR_NOT_EQUAL,
00113 XCCDF_OPERATOR_GREATER,
00114 XCCDF_OPERATOR_GREATER_EQUAL,
00115 XCCDF_OPERATOR_LESS,
00116 XCCDF_OPERATOR_LESS_EQUAL,
00117 XCCDF_OPERATOR_PATTERN_MATCH
00118 } xccdf_operator_t;
00119
00121 typedef enum {
00122 XCCDF_OPERATOR_AND = 0x0002,
00123 XCCDF_OPERATOR_OR = 0x0003,
00124 XCCDF_OPERATOR_NOT = 0x0100,
00125 XCCDF_OPERATOR_NAND = XCCDF_OPERATOR_AND | XCCDF_OPERATOR_NOT,
00126 XCCDF_OPERATOR_NOR = XCCDF_OPERATOR_OR | XCCDF_OPERATOR_NOT,
00127 XCCDF_OPERATOR_MASK = 0x00ff
00128 } xccdf_bool_operator_t;
00129
00131 typedef enum {
00132 XCCDF_UNKNOWN = 1,
00133 XCCDF_INFO,
00134 XCCDF_LOW,
00135 XCCDF_MEDIUM,
00136 XCCDF_HIGH
00137 } xccdf_level_t;
00138
00140 typedef enum {
00141 XCCDF_MSG_INFO = XCCDF_INFO,
00142 XCCDF_MSG_WARNING = XCCDF_LOW,
00143 XCCDF_MSG_ERROR = XCCDF_HIGH,
00144 } xccdf_message_severity_t;
00145
00147 typedef enum {
00148 XCCDF_ROLE_FULL = 1,
00149 XCCDF_ROLE_UNSCORED,
00150 XCCDF_ROLE_UNCHECKED
00151 } xccdf_role_t;
00152
00154 typedef enum {
00155 XCCDF_WARNING_GENERAL = 1,
00156 XCCDF_WARNING_FUNCTIONALITY,
00157 XCCDF_WARNING_PERFORMANCE,
00158 XCCDF_WARNING_HARDWARE,
00159 XCCDF_WARNING_LEGAL,
00160 XCCDF_WARNING_REGULATORY,
00161 XCCDF_WARNING_MANAGEMENT,
00162 XCCDF_WARNING_AUDIT,
00163 XCCDF_WARNING_DEPENDENCY
00164 } xccdf_warning_category_t;
00165
00167 typedef enum {
00168 XCCDF_STRATEGY_UNKNOWN,
00169 XCCDF_STRATEGY_CONFIGURE,
00170 XCCDF_STRATEGY_DISABLE,
00171 XCCDF_STRATEGY_ENABLE,
00172 XCCDF_STRATEGY_PATCH,
00173 XCCDF_STRATEGY_POLICY,
00174 XCCDF_STRATEGY_RESTRICT,
00175 XCCDF_STRATEGY_UPDATE,
00176 XCCDF_STRATEGY_COMBINATION
00177 } xccdf_strategy_t;
00178
00180 typedef enum {
00181 XCCDF_RESULT_PASS = 1,
00182 XCCDF_RESULT_FAIL,
00183 XCCDF_RESULT_ERROR,
00184 XCCDF_RESULT_UNKNOWN,
00185 XCCDF_RESULT_NOT_APPLICABLE,
00186 XCCDF_RESULT_NOT_CHECKED,
00187 XCCDF_RESULT_NOT_SELECTED,
00188 XCCDF_RESULT_INFORMATIONAL,
00189 XCCDF_RESULT_FIXED
00190 } xccdf_test_result_type_t;
00191
00192
00193
00194
00195
00199 typedef float xccdf_numeric;
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00230 struct xccdf_item;
00235 struct xccdf_benchmark;
00236
00241 struct xccdf_profile;
00242
00247 struct xccdf_rule;
00248
00253 struct xccdf_group;
00254
00259 struct xccdf_value;
00260
00265 struct xccdf_result;
00266
00267
00268
00269
00270
00275 struct xccdf_notice;
00276
00281 struct xccdf_status;
00282
00287 struct xccdf_model;
00288
00292 struct xccdf_warning;
00293
00298 struct xccdf_select;
00299
00304 struct xccdf_set_value;
00305
00310 struct xccdf_refine_value;
00315 struct xccdf_refine_rule;
00316
00321 struct xccdf_ident;
00322
00327 struct xccdf_check;
00332 struct xccdf_check_content_ref;
00333
00338 struct xccdf_profile_note;
00339
00345 struct xccdf_check_import;
00346
00352 struct xccdf_check_export;
00353
00359 struct xccdf_fix;
00360
00366 struct xccdf_fixtext;
00367
00372 struct xccdf_reference;
00373
00374
00375
00376
00377
00382 struct xccdf_item_iterator;
00384 struct xccdf_item *xccdf_item_iterator_next(struct xccdf_item_iterator *it);
00386 bool xccdf_item_iterator_has_more(struct xccdf_item_iterator *it);
00388 void xccdf_item_iterator_free(struct xccdf_item_iterator *it);
00393 struct xccdf_notice_iterator;
00395 struct xccdf_notice *xccdf_notice_iterator_next(struct xccdf_notice_iterator *it);
00397 bool xccdf_notice_iterator_has_more(struct xccdf_notice_iterator *it);
00399 void xccdf_notice_iterator_free(struct xccdf_notice_iterator *it);
00404 struct xccdf_status_iterator;
00406 struct xccdf_status *xccdf_status_iterator_next(struct xccdf_status_iterator *it);
00408 bool xccdf_status_iterator_has_more(struct xccdf_status_iterator *it);
00410 void xccdf_status_iterator_free(struct xccdf_status_iterator *it);
00415 struct xccdf_reference_iterator;
00417 struct xccdf_reference *xccdf_reference_iterator_next(struct xccdf_reference_iterator *it);
00419 bool xccdf_reference_iterator_has_more(struct xccdf_reference_iterator *it);
00421 void xccdf_reference_iterator_free(struct xccdf_reference_iterator *it);
00426 struct xccdf_model_iterator;
00428 struct xccdf_model *xccdf_model_iterator_next(struct xccdf_model_iterator *it);
00430 bool xccdf_model_iterator_has_more(struct xccdf_model_iterator *it);
00432 void xccdf_model_iterator_free(struct xccdf_model_iterator *it);
00437 struct xccdf_profile_iterator;
00439 struct xccdf_profile *xccdf_profile_iterator_next(struct xccdf_profile_iterator *it);
00441 bool xccdf_profile_iterator_has_more(struct xccdf_profile_iterator *it);
00443 void xccdf_profile_iterator_free(struct xccdf_profile_iterator *it);
00444
00449 struct xccdf_select_iterator;
00451 struct xccdf_select *xccdf_select_iterator_next(struct xccdf_select_iterator *it);
00453 bool xccdf_select_iterator_has_more(struct xccdf_select_iterator *it);
00455 void xccdf_select_iterator_free(struct xccdf_select_iterator *it);
00456
00461 struct xccdf_set_value_iterator;
00463 struct xccdf_set_value *xccdf_set_value_iterator_next(struct xccdf_set_value_iterator *it);
00465 bool xccdf_set_value_iterator_has_more(struct xccdf_set_value_iterator *it);
00467 void xccdf_set_value_iterator_free(struct xccdf_set_value_iterator *it);
00468
00473 struct xccdf_refine_value_iterator;
00475 struct xccdf_refine_value *xccdf_refine_value_iterator_next(struct xccdf_refine_value_iterator *it);
00477 bool xccdf_refine_value_iterator_has_more(struct xccdf_refine_value_iterator *it);
00479 void xccdf_refine_value_iterator_free(struct xccdf_refine_value_iterator *it);
00480
00485 struct xccdf_refine_rule_iterator;
00487 struct xccdf_refine_rule *xccdf_refine_rule_iterator_next(struct xccdf_refine_rule_iterator *it);
00489 bool xccdf_refine_rule_iterator_has_more(struct xccdf_refine_rule_iterator *it);
00491 void xccdf_refine_rule_iterator_free(struct xccdf_refine_rule_iterator *it);
00492
00497 struct xccdf_ident_iterator;
00499 struct xccdf_ident *xccdf_ident_iterator_next(struct xccdf_ident_iterator *it);
00501 bool xccdf_ident_iterator_has_more(struct xccdf_ident_iterator *it);
00503 void xccdf_ident_iterator_free(struct xccdf_ident_iterator *it);
00504
00509 struct xccdf_check_iterator;
00511 struct xccdf_check *xccdf_check_iterator_next(struct xccdf_check_iterator *it);
00513 bool xccdf_check_iterator_has_more(struct xccdf_check_iterator *it);
00515 void xccdf_check_iterator_free(struct xccdf_check_iterator *it);
00520 struct xccdf_check_content_ref_iterator;
00522 struct xccdf_check_content_ref *xccdf_check_content_ref_iterator_next(struct xccdf_check_content_ref_iterator *it);
00524 bool xccdf_check_content_ref_iterator_has_more(struct xccdf_check_content_ref_iterator *it);
00526 void xccdf_check_content_ref_iterator_free(struct xccdf_check_content_ref_iterator *it);
00531 struct xccdf_profile_note_iterator;
00533 struct xccdf_profile_note *xccdf_profile_note_iterator_next(struct xccdf_profile_note_iterator *it);
00535 bool xccdf_profile_note_iterator_has_more(struct xccdf_profile_note_iterator *it);
00537 void xccdf_profile_note_iterator_free(struct xccdf_profile_note_iterator *it);
00542 struct xccdf_check_import_iterator;
00544 struct xccdf_check_import *xccdf_check_import_iterator_next(struct xccdf_check_import_iterator *it);
00546 bool xccdf_check_import_iterator_has_more(struct xccdf_check_import_iterator *it);
00548 void xccdf_check_import_iterator_free(struct xccdf_check_import_iterator *it);
00549
00554 struct xccdf_check_export_iterator;
00556 struct xccdf_check_export *xccdf_check_export_iterator_next(struct xccdf_check_export_iterator *it);
00558 bool xccdf_check_export_iterator_has_more(struct xccdf_check_export_iterator *it);
00560 void xccdf_check_export_iterator_free(struct xccdf_check_export_iterator *it);
00561
00566 struct xccdf_fix_iterator;
00568 struct xccdf_fix *xccdf_fix_iterator_next(struct xccdf_fix_iterator *it);
00570 bool xccdf_fix_iterator_has_more(struct xccdf_fix_iterator *it);
00572 void xccdf_fix_iterator_free(struct xccdf_fix_iterator *it);
00573
00578 struct xccdf_fixtext_iterator;
00580 struct xccdf_fixtext *xccdf_fixtext_iterator_next(struct xccdf_fixtext_iterator *it);
00582 bool xccdf_fixtext_iterator_has_more(struct xccdf_fixtext_iterator *it);
00584 void xccdf_fixtext_iterator_free(struct xccdf_fixtext_iterator *it);
00585
00590 struct xccdf_warning_iterator;
00592 struct xccdf_warning *xccdf_warning_iterator_next(struct xccdf_warning_iterator *it);
00594 bool xccdf_warning_iterator_has_more(struct xccdf_warning_iterator *it);
00596 void xccdf_warning_iterator_free(struct xccdf_warning_iterator *it);
00597
00602
00603
00604
00605
00610 xccdf_type_t xccdf_item_get_type(const struct xccdf_item *item);
00611
00616 const char *xccdf_item_get_id(const struct xccdf_item *item);
00617
00622 struct oscap_text_iterator *xccdf_item_get_title(const struct xccdf_item *item);
00623
00628 struct oscap_text_iterator *xccdf_item_get_description(const struct xccdf_item *item);
00629
00634 const char *xccdf_item_get_version(const struct xccdf_item *item);
00635
00640 struct xccdf_item *xccdf_item_get_extends(const struct xccdf_item *item);
00641
00647 struct xccdf_item *xccdf_item_get_parent(const struct xccdf_item *item);
00648
00653 struct xccdf_status_iterator *xccdf_item_get_statuses(const struct xccdf_item *item);
00654
00659 struct xccdf_reference_iterator *xccdf_item_get_references(const struct xccdf_item *item);
00660
00665 xccdf_status_type_t xccdf_item_get_current_status(const struct xccdf_item *item);
00666
00673 struct xccdf_benchmark* xccdf_item_to_benchmark(struct xccdf_item* item);
00674
00681 struct xccdf_profile* xccdf_item_to_profile(struct xccdf_item* item);
00682
00689 struct xccdf_rule* xccdf_item_to_rule(struct xccdf_item* item);
00690
00697 struct xccdf_group* xccdf_item_to_group(struct xccdf_item* item);
00698
00705 struct xccdf_value* xccdf_item_to_value(struct xccdf_item* item);
00706
00713 struct xccdf_result* xccdf_item_to_result(struct xccdf_item* item);
00714
00715
00716
00717
00718
00726 struct xccdf_benchmark *xccdf_benchmark_parse_xml(const char *filename);
00727
00733 struct xccdf_group *xccdf_benchmark_append_new_group(const struct xccdf_benchmark *, const char *id);
00734
00739 const char *xccdf_benchmark_get_id(const struct xccdf_benchmark *benchmark);
00740
00745 bool xccdf_benchmark_get_resolved(const struct xccdf_benchmark *benchmark);
00746
00751 struct oscap_text_iterator *xccdf_benchmark_get_title(const struct xccdf_benchmark *benchmark);
00752
00757 struct oscap_text_iterator *xccdf_benchmark_get_description(const struct xccdf_benchmark *benchmark);
00758
00763 const char *xccdf_benchmark_get_version(const struct xccdf_benchmark *benchmark);
00764
00769 const char *xccdf_benchmark_get_style(const struct xccdf_benchmark *benchmark);
00770
00775 const char *xccdf_benchmark_get_style_href(const struct xccdf_benchmark *benchmark);
00776
00781 struct oscap_text_iterator *xccdf_benchmark_get_front_matter(const struct xccdf_benchmark *benchmark);
00782
00787 struct oscap_text_iterator *xccdf_benchmark_get_rear_matter(const struct xccdf_benchmark *benchmark);
00788
00793 const char *xccdf_benchmark_get_metadata(const struct xccdf_benchmark *benchmark);
00794
00802 const char *xccdf_benchmark_get_plain_text(const struct xccdf_benchmark *benchmark, const char *id);
00803
00811 struct xccdf_item *xccdf_benchmark_get_item(const struct xccdf_benchmark *benchmark, const char *id);
00812
00817 struct xccdf_status_iterator *xccdf_benchmark_get_statuses(const struct xccdf_benchmark *benchmark);
00818
00823 struct xccdf_reference_iterator *xccdf_benchmark_get_references(const struct xccdf_benchmark *benchmark);
00824
00829 struct oscap_string_iterator *xccdf_benchmark_get_platforms(const struct xccdf_benchmark *benchmark);
00830
00836 struct xccdf_notice_iterator *xccdf_benchmark_get_notices(const struct xccdf_benchmark *benchmark);
00837
00843 struct xccdf_model_iterator *xccdf_benchmark_get_models(const struct xccdf_benchmark *benchmark);
00844
00850 struct xccdf_profile_iterator *xccdf_benchmark_get_profiles(const struct xccdf_benchmark *benchmark);
00851
00859 struct xccdf_item_iterator *xccdf_benchmark_get_content(const struct xccdf_benchmark *benchmark);
00860
00865 xccdf_status_type_t xccdf_benchmark_get_status_current(const struct xccdf_benchmark *benchmark);
00866
00872 void xccdf_benchmark_free(struct xccdf_benchmark *benchmark);
00873
00879 const char * xccdf_benchmark_supported(void);
00880
00881
00882
00883
00884
00885
00890 const char *xccdf_profile_get_id(const struct xccdf_profile *profile);
00891
00896 struct oscap_text_iterator *xccdf_profile_get_title(const struct xccdf_profile *profile);
00897
00902 struct oscap_text_iterator *xccdf_profile_get_description(const struct xccdf_profile *profile);
00903
00908 const char *xccdf_profile_get_version(const struct xccdf_profile *profile);
00909
00914 struct xccdf_profile *xccdf_profile_get_extends(const struct xccdf_profile *profile);
00915
00920 struct xccdf_benchmark *xccdf_profile_get_benchmark(const struct xccdf_profile *profile);
00921
00926 bool xccdf_profile_get_abstract(const struct xccdf_profile *profile);
00927
00932 bool xccdf_profile_get_prohibit_changes(const struct xccdf_profile *profile);
00933
00938 struct oscap_string_iterator *xccdf_profile_get_platforms(const struct xccdf_profile *profile);
00939
00944 struct xccdf_status_iterator *xccdf_profile_get_statuses(const struct xccdf_profile *profile);
00945
00950 struct xccdf_reference_iterator *xccdf_profile_get_references(const struct xccdf_profile *profile);
00951
00956 xccdf_status_type_t xccdf_profile_get_status_current(const struct xccdf_profile *profile);
00957
00962
00963
00968 struct xccdf_select_iterator *xccdf_profile_get_selects(const struct xccdf_profile *profile);
00969
00974 struct xccdf_set_value_iterator *xccdf_profile_get_set_values(const struct xccdf_profile *profile);
00975
00980 struct xccdf_refine_value_iterator *xccdf_profile_get_refine_values(const struct xccdf_profile *profile);
00981
00986 struct xccdf_refine_rule_iterator *xccdf_profile_get_refine_rules(const struct xccdf_profile *profile);
00987
00988
00989
00990
00991
00996 const char *xccdf_rule_get_id(const struct xccdf_rule *rule);
00997
01002 struct oscap_text_iterator *xccdf_rule_get_title(const struct xccdf_rule *rule);
01003
01008 struct oscap_text_iterator *xccdf_rule_get_description(const struct xccdf_rule *rule);
01009
01014 const char *xccdf_rule_get_version(const struct xccdf_rule *rule);
01015
01020 struct oscap_text_iterator *xccdf_rule_get_question(const struct xccdf_rule *rule);
01021
01026 struct xccdf_warning_iterator *xccdf_rule_get_warnings(const struct xccdf_rule *rule);
01027
01032 struct oscap_text_iterator *xccdf_rule_get_rationale(const struct xccdf_rule *rule);
01033
01038 const char *xccdf_rule_get_cluster_id(const struct xccdf_rule *rule);
01039
01044 struct xccdf_check *xccdf_rule_get_check(const struct xccdf_rule *rule);
01045
01050 float xccdf_rule_get_weight(const struct xccdf_rule *rule);
01051
01056 struct xccdf_rule *xccdf_rule_get_extends(const struct xccdf_rule *rule);
01057
01063 struct xccdf_item *xccdf_rule_get_parent(const struct xccdf_rule *rule);
01064
01069 bool xccdf_rule_get_abstract(const struct xccdf_rule *rule);
01070
01075 bool xccdf_rule_get_prohibit_changes(const struct xccdf_rule *rule);
01076
01081 bool xccdf_rule_get_hidden(const struct xccdf_rule *rule);
01082
01087 bool xccdf_rule_get_selected(const struct xccdf_rule *rule);
01088
01093 bool xccdf_rule_get_multiple(const struct xccdf_rule *rule);
01094
01099 struct oscap_string_iterator *xccdf_rule_get_platforms(const struct xccdf_rule *rule);
01100
01105 struct xccdf_status_iterator *xccdf_rule_get_statuses(const struct xccdf_rule *rule);
01106
01111 struct xccdf_reference_iterator *xccdf_rule_get_references(const struct xccdf_rule *rule);
01112
01117 xccdf_status_type_t xccdf_rule_get_status_current(const struct xccdf_rule *rule);
01118
01123 const char *xccdf_rule_get_impact_metric(const struct xccdf_rule *rule);
01124
01129 xccdf_role_t xccdf_rule_get_role(const struct xccdf_rule *rule);
01130
01135 xccdf_level_t xccdf_rule_get_severity(const struct xccdf_rule *rule);
01136
01141 struct xccdf_ident_iterator *xccdf_rule_get_idents(const struct xccdf_rule *rule);
01142
01147 struct xccdf_check_iterator *xccdf_rule_get_checks(const struct xccdf_rule *rule);
01148
01153 struct xccdf_profile_note_iterator *xccdf_rule_get_profile_notes(const struct xccdf_rule *rule);
01154
01159 struct xccdf_fix_iterator *xccdf_rule_get_fixes(const struct xccdf_rule *rule);
01160
01165 struct xccdf_fixtext_iterator *xccdf_rule_get_fixtexts(const struct xccdf_rule *rule);
01166
01167
01168
01169
01170
01175 const char *xccdf_group_get_id(const struct xccdf_group *group);
01176
01181 struct oscap_text_iterator *xccdf_group_get_title(const struct xccdf_group *group);
01182
01187 struct oscap_text_iterator *xccdf_group_get_description(const struct xccdf_group *group);
01188
01193 const char *xccdf_group_get_version(const struct xccdf_group *group);
01194
01199 struct oscap_text_iterator *xccdf_group_get_question(const struct xccdf_group *group);
01200
01205 struct xccdf_warning_iterator *xccdf_group_get_warnings(const struct xccdf_group *group);
01206
01211 struct oscap_text_iterator *xccdf_group_get_rationale(const struct xccdf_group *group);
01212
01217 const char *xccdf_group_get_cluster_id(const struct xccdf_group *group);
01218
01223 float xccdf_group_get_weight(const struct xccdf_group *group);
01224
01229 struct xccdf_group *xccdf_group_get_extends(const struct xccdf_group *group);
01230
01236 struct xccdf_item *xccdf_group_get_parent(const struct xccdf_group *group);
01237
01242 bool xccdf_group_get_abstract(const struct xccdf_group *group);
01243
01248 bool xccdf_group_get_prohibit_changes(const struct xccdf_group *group);
01249
01254 bool xccdf_group_get_hidden(const struct xccdf_group *group);
01255
01260 bool xccdf_group_get_selected(const struct xccdf_group *group);
01261
01266 struct oscap_string_iterator *xccdf_group_get_platforms(const struct xccdf_group *group);
01267
01272 struct xccdf_status_iterator *xccdf_group_get_statuses(const struct xccdf_group *group);
01273
01278 struct xccdf_reference_iterator *xccdf_group_get_references(const struct xccdf_group *group);
01279
01287 struct xccdf_item_iterator *xccdf_group_get_content(const struct xccdf_group *benchmark);
01288
01293 xccdf_status_type_t xccdf_group_get_status_current(const struct xccdf_group *group);
01294
01295
01296
01297
01298
01303 const char *xccdf_value_get_id(const struct xccdf_value *value);
01304
01309 struct oscap_text_iterator *xccdf_value_get_title(const struct xccdf_value *value);
01310
01315 struct oscap_text_iterator *xccdf_value_get_description(const struct xccdf_value *value);
01316
01321 struct xccdf_value *xccdf_value_get_extends(const struct xccdf_value *value);
01322
01328 struct xccdf_item *xccdf_value_get_parent(const struct xccdf_value *value);
01329
01334 bool xccdf_value_get_abstract(const struct xccdf_value *value);
01335
01340 bool xccdf_value_get_prohibit_changes(const struct xccdf_value *value);
01341
01346 bool xccdf_value_get_hidden(const struct xccdf_value *value);
01347
01352 struct xccdf_status_iterator *xccdf_value_get_statuses(const struct xccdf_value *value);
01353
01358 struct xccdf_reference_iterator *xccdf_value_get_references(const struct xccdf_value *value);
01359
01364 xccdf_status_type_t xccdf_value_get_status_current(const struct xccdf_value *value);
01365
01370 xccdf_value_type_t xccdf_value_get_type(const struct xccdf_value *value);
01371
01376 xccdf_interface_hint_t xccdf_value_get_interface_hint(const struct xccdf_value *value);
01377
01382 xccdf_operator_t xccdf_value_get_oper(const struct xccdf_value *value);
01383
01388 const char *xccdf_value_get_selector(const struct xccdf_value *value);
01389
01396 bool xccdf_value_get_set_selector(struct xccdf_item *value, const char *selector);
01397
01404 const char *xccdf_value_get_value_string(const struct xccdf_value *value);
01405
01412 xccdf_numeric xccdf_value_get_value_number(const struct xccdf_value *value);
01413
01421 bool xccdf_value_get_value_boolean(const struct xccdf_value *value);
01422
01429 const char *xccdf_value_get_defval_string(const struct xccdf_value *value);
01430
01437 xccdf_numeric xccdf_value_get_defval_number(const struct xccdf_value *value);
01438
01446 bool xccdf_value_get_defval_boolean(const struct xccdf_value *value);
01447
01453 xccdf_numeric xccdf_value_get_lower_bound(const struct xccdf_value *value);
01454
01460 xccdf_numeric xccdf_value_get_upper_bound(const struct xccdf_value *value);
01461
01467 const char *xccdf_value_get_match(const struct xccdf_value *value);
01468
01475 bool xccdf_value_get_must_match(const struct xccdf_value *value);
01476
01477
01478
01479
01480
01481
01482
01483
01488
01489
01490
01491
01492
01493
01498 time_t xccdf_status_get_date(const struct xccdf_status *status);
01499
01504 xccdf_status_type_t xccdf_status_get_status(const struct xccdf_status *status);
01505
01510 const char *xccdf_notice_get_id(const struct xccdf_notice *notice);
01511
01516 struct oscap_text *xccdf_notice_get_text(const struct xccdf_notice *notice);
01517
01522 const char *xccdf_model_get_system(const struct xccdf_model *model);
01523
01528
01529
01534 const char *xccdf_ident_get_id(const struct xccdf_ident *ident);
01535
01540 const char *xccdf_ident_get_system(const struct xccdf_ident *ident);
01541
01546 const char *xccdf_check_get_id(const struct xccdf_check *check);
01547
01553 bool xccdf_check_get_complex(const struct xccdf_check *check);
01554
01560 xccdf_bool_operator_t xccdf_check_get_oper(const struct xccdf_check *check);
01561
01566 const char *xccdf_check_get_system(const struct xccdf_check *check);
01567
01572 const char *xccdf_check_get_selector(const struct xccdf_check *check);
01573
01578 const char *xccdf_check_get_content(const struct xccdf_check *check);
01579
01584 struct xccdf_rule *xccdf_check_get_parent(const struct xccdf_check *check);
01585
01591
01592
01598
01599
01605
01606
01612 struct xccdf_check_iterator *xccdf_check_get_children(const struct xccdf_check *check);
01613
01618 const char *xccdf_check_content_ref_get_href(const struct xccdf_check_content_ref *ref);
01619
01624 const char *xccdf_check_content_ref_get_name(const struct xccdf_check_content_ref *ref);
01625
01630 const char *xccdf_profile_note_get_reftag(const struct xccdf_profile_note *note);
01631
01636 const char *xccdf_profile_note_get_text(const struct xccdf_profile_note *note);
01637
01642 const char *xccdf_check_import_get_name(const struct xccdf_check_import *item);
01643
01648 const char *xccdf_check_import_get_content(const struct xccdf_check_import *item);
01649
01654 const char *xccdf_check_export_get_name(const struct xccdf_check_export *item);
01655
01660 struct xccdf_value *xccdf_check_export_get_value(const struct xccdf_check_export *item);
01661
01666 const char *xccdf_fix_get_content(const struct xccdf_fix *fix);
01667
01672 bool xccdf_fix_get_reboot(const struct xccdf_fix *fix);
01673
01678 xccdf_strategy_t xccdf_fix_get_strategy(const struct xccdf_fix *fix);
01679
01684 xccdf_level_t xccdf_fix_get_complexity(const struct xccdf_fix *fix);
01685
01690 xccdf_level_t xccdf_fix_get_disruption(const struct xccdf_fix *fix);
01691
01696 const char *xccdf_fix_get_id(const struct xccdf_fix *fix);
01697
01702 const char *xccdf_fix_get_system(const struct xccdf_fix *fix);
01703
01708 const char *xccdf_fix_get_platform(const struct xccdf_fix *fix);
01709
01714 bool xccdf_fixtext_get_reboot(const struct xccdf_fixtext *fixtext);
01715
01720 xccdf_strategy_t xccdf_fixtext_get_strategy(const struct xccdf_fixtext *fixtext);
01721
01726 xccdf_level_t xccdf_fixtext_get_complexity(const struct xccdf_fixtext *fixtext);
01727
01732 xccdf_level_t xccdf_fixtext_get_disruption(const struct xccdf_fixtext *fixtext);
01733
01738 struct xccdf_fix *xccdf_fixtext_get_fixref(const struct xccdf_fixtext *fixtext);
01739
01740
01741
01743 const char *xccdf_value_get_id(const struct xccdf_value *value);
01745 const char *xccdf_value_get_version(const struct xccdf_value *value);
01747 struct oscap_text_iterator *xccdf_value_get_question(const struct xccdf_value *value);
01749 struct xccdf_warning_iterator *xccdf_value_get_warnings(const struct xccdf_value *value);
01751 struct oscap_text_iterator *xccdf_value_get_rationale(const struct xccdf_value *value);
01753 const char *xccdf_value_get_cluster_id(const struct xccdf_value *value);
01755 const char *xccdf_value_get_version_update(const struct xccdf_value *value);
01757 time_t xccdf_value_get_version_time(const struct xccdf_value *value);
01759 float xccdf_value_get_weight(const struct xccdf_value *value);
01761 struct xccdf_benchmark *xccdf_value_get_benchmark(const struct xccdf_value *value);
01763 struct oscap_string_iterator *xccdf_value_get_platforms(const struct xccdf_value *value);
01765 struct oscap_string_iterator *xccdf_value_get_sources(const struct xccdf_value *value);
01766
01768 bool xccdf_value_get_resolved(const struct xccdf_value *value);
01770 bool xccdf_value_get_hidden(const struct xccdf_value *value);
01772 bool xccdf_value_get_selected(const struct xccdf_value *value);
01774 bool xccdf_value_get_multiple(const struct xccdf_value *value);
01776 bool xccdf_value_get_prohibit_changes(const struct xccdf_value *value);
01778 bool xccdf_value_get_abstract(const struct xccdf_value *value);
01780 bool xccdf_value_get_interactive(const struct xccdf_value *value);
01781
01783 const char *xccdf_item_get_id(const struct xccdf_item *item);
01785 const char *xccdf_item_get_version(const struct xccdf_item *item);
01787 struct oscap_text_iterator *xccdf_item_get_question(const struct xccdf_item *item);
01789 struct xccdf_warning_iterator *xccdf_item_get_warnings(const struct xccdf_item *item);
01791 struct oscap_text_iterator *xccdf_item_get_rationale(const struct xccdf_item *item);
01793 const char *xccdf_item_get_cluster_id(const struct xccdf_item *item);
01795 const char *xccdf_item_get_version_update(const struct xccdf_item *item);
01797 time_t xccdf_item_get_version_time(const struct xccdf_item *item);
01799 float xccdf_item_get_weight(const struct xccdf_item *item);
01801 struct xccdf_benchmark *xccdf_item_get_benchmark(const struct xccdf_item *item);
01803 struct oscap_string_iterator *xccdf_item_get_platforms(const struct xccdf_item *item);
01804
01806 bool xccdf_benchmark_get_resolved(const struct xccdf_benchmark *benchmark);
01808 bool xccdf_benchmark_get_hidden(const struct xccdf_benchmark *benchmark);
01810 bool xccdf_benchmark_get_selected(const struct xccdf_benchmark *benchmark);
01812 bool xccdf_benchmark_get_multiple(const struct xccdf_benchmark *benchmark);
01814 bool xccdf_benchmark_get_prohibit_changes(const struct xccdf_benchmark *benchmark);
01816 bool xccdf_benchmark_get_abstract(const struct xccdf_benchmark *benchmark);
01818 bool xccdf_benchmark_get_interactive(const struct xccdf_benchmark *benchmark);
01819
01820
01821
01823 const char *xccdf_benchmark_get_version(const struct xccdf_benchmark *benchmark);
01825 struct oscap_text_iterator *xccdf_benchmark_get_question(const struct xccdf_benchmark *benchmark);
01827 struct xccdf_warning_iterator *xccdf_benchmark_get_warnings(const struct xccdf_benchmark *benchmark);
01829 struct oscap_text_iterator *xccdf_benchmark_get_rationale(const struct xccdf_benchmark *benchmark);
01831 const char *xccdf_benchmark_get_cluster_id(const struct xccdf_benchmark *benchmark);
01833 const char *xccdf_benchmark_get_version_update(const struct xccdf_benchmark *benchmark);
01835 time_t xccdf_benchmark_get_version_time(const struct xccdf_benchmark *benchmark);
01837 float xccdf_benchmark_get_weight(const struct xccdf_benchmark *benchmark);
01839 struct xccdf_benchmark *xccdf_benchmark_get_benchmark(const struct xccdf_benchmark *benchmark);
01841 struct xccdf_item *xccdf_benchmark_get_parent(const struct xccdf_benchmark *benchmark);
01842
01844 const char *xccdf_profile_get_id(const struct xccdf_profile *profile);
01846 const char *xccdf_profile_get_version(const struct xccdf_profile *profile);
01848 struct oscap_text_iterator *xccdf_profile_get_question(const struct xccdf_profile *profile);
01850 struct oscap_text_iterator *xccdf_profile_get_rationale(const struct xccdf_profile *profile);
01852 const char *xccdf_profile_get_cluster_id(const struct xccdf_profile *profile);
01854 const char *xccdf_profile_get_version_update(const struct xccdf_profile *profile);
01856 time_t xccdf_profile_get_version_time(const struct xccdf_profile *profile);
01858 float xccdf_profile_get_weight(const struct xccdf_profile *profile);
01860 struct xccdf_item *xccdf_profile_get_parent(const struct xccdf_profile *profile);
01862 const char *xccdf_profile_get_note_tag(const struct xccdf_profile *profile);
01863
01865 bool xccdf_profile_get_resolved(const struct xccdf_profile *profile);
01867 bool xccdf_profile_get_hidden(const struct xccdf_profile *profile);
01869 bool xccdf_profile_get_selected(const struct xccdf_profile *profile);
01871 bool xccdf_profile_get_multiple(const struct xccdf_profile *profile);
01873 bool xccdf_profile_get_prohibit_changes(const struct xccdf_profile *profile);
01875 bool xccdf_profile_get_abstract(const struct xccdf_profile *profile);
01877 bool xccdf_profile_get_interactive(const struct xccdf_profile *profile);
01878
01880 const char *xccdf_rule_get_id(const struct xccdf_rule *rule);
01882 const char *xccdf_rule_get_version(const struct xccdf_rule *rule);
01884 const char *xccdf_rule_get_cluster_id(const struct xccdf_rule *rule);
01886 const char *xccdf_rule_get_version_update(const struct xccdf_rule *rule);
01888 time_t xccdf_rule_get_version_time(const struct xccdf_rule *rule);
01890 float xccdf_rule_get_weight(const struct xccdf_rule *rule);
01892 struct xccdf_benchmark *xccdf_rule_get_benchmark(const struct xccdf_rule *rule);
01894 struct oscap_string_iterator *xccdf_rule_get_platforms(const struct xccdf_rule *rule);
01896 bool xccdf_rule_get_resolved(const struct xccdf_rule *rule);
01898 bool xccdf_rule_get_interactive(const struct xccdf_rule *rule);
01899
01901 bool xccdf_group_get_resolved(const struct xccdf_group *group);
01903 bool xccdf_group_get_hidden(const struct xccdf_group *group);
01905 bool xccdf_group_get_selected(const struct xccdf_group *group);
01907 bool xccdf_group_get_multiple(const struct xccdf_group *group);
01909 bool xccdf_group_get_prohibit_changes(const struct xccdf_group *group);
01911 bool xccdf_group_get_abstract(const struct xccdf_group *group);
01913 bool xccdf_group_get_interactive(const struct xccdf_group *group);
01915 time_t xccdf_group_get_version_time(const struct xccdf_group *group);
01917 const char *xccdf_group_get_version_update(const struct xccdf_group *group);
01919 float xccdf_group_get_weight(const struct xccdf_group *group);
01921 struct xccdf_benchmark *xccdf_group_get_benchmark(const struct xccdf_group *group);
01922
01924 struct xccdf_check_import_iterator *xccdf_check_get_imports(const struct xccdf_check *check);
01926 struct xccdf_check_export_iterator *xccdf_check_get_exports(const struct xccdf_check *check);
01928 struct xccdf_check_content_ref_iterator *xccdf_check_get_content_refs(const struct xccdf_check *check);
01930 const char *xccdf_fixtext_get_content(const struct xccdf_fixtext *fixtext);
01931
01933 bool xccdf_reference_get_override(const struct xccdf_reference *reference);
01935 const char *xccdf_reference_get_href(const struct xccdf_reference *reference);
01937 const char *xccdf_reference_get_content(const struct xccdf_reference *reference);
01939 const char *xccdf_reference_get_lang(const struct xccdf_reference *reference);
01940
01941
01943 bool xccdf_select_get_selected(const struct xccdf_select *select);
01945
01947
01949 struct xccdf_item *xccdf_select_get_item(const struct xccdf_select *select);
01950
01952 xccdf_warning_category_t xccdf_warning_get_category(const struct xccdf_warning *warning);
01954 struct oscap_text *xccdf_warning_get_text(const struct xccdf_warning *warning);
01955
01960 void xccdf_cleanup(void);
01961
01962
01963
01964
01965
01966
01973 struct xccdf_benchmark *xccdf_benchmark_create(const char *id);
01974
01980 struct xccdf_group *xccdf_benchmark_append_new_group(const struct xccdf_benchmark *, const char *id);
01981
01987 struct xccdf_value *xccdf_benchmark_append_new_value(const struct xccdf_benchmark *, const char *id, xccdf_value_type_t type);
01988
01994 struct xccdf_rule *xccdf_benchmark_append_new_rule(const struct xccdf_benchmark *, const char *id);
01995
01996
01998
02000
02002
02004
02006
02008
02010
02012
02014
02016
02018
02020
02022
02024
02026
02028
02030
02032
02034
02036
02038
02040
02042
02044
02046
02048
02050
02052
02054
02056
02058
02060
02062
02064
02066
02068
02070
02072
02074
02076
02078
02080
02081
02083
02085
02087
02089
02091
02093
02095
02097
02099
02101
02103
02105
02107
02109
02111
02113
02115
02117
02119
02121
02123
02125
02127
02129
02130
02131 #endif