Open SCAP Library
xccdf.h
Go to the documentation of this file.
1 
10 /*
11  * Copyright 2009 Red Hat Inc., Durham, North Carolina.
12  * Copyright (C) 2010 Tresys Technology, LLC
13  * All Rights Reserved.
14  *
15  * This library is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU Lesser General Public
17  * License as published by the Free Software Foundation; either
18  * version 2.1 of the License, or (at your option) any later version.
19  *
20  * This library is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23  * Lesser General Public License for more details.
24  *
25  * You should have received a copy of the GNU Lesser General Public
26  * License along with this library; if not, write to the Free Software
27  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28  *
29  * Authors:
30  * Lukas Kuklinek <lkuklinek@redhat.com>
31  * Josh Adams <jadams@tresys.com>
32  */
33 
34 #ifndef XCCDF_H_
35 #define XCCDF_H_
36 
37 #include <stdbool.h>
38 #include <time.h>
39 #include "oscap.h"
40 
41 /*--------------------*\
42 | Enumerations |
43 \*--------------------*/
44 
53 typedef enum {
54  XCCDF_BENCHMARK = 0x0100,
55  XCCDF_PROFILE = 0x0200,
56  XCCDF_RESULT = 0x0400,
57  XCCDF_RULE = 0x1000,
58  XCCDF_GROUP = 0x2000,
59  XCCDF_VALUE = 0x4000,
60 
67 } xccdf_type_t;
68 
70 typedef enum {
78 
80 typedef enum {
88 
90 typedef enum {
95 
97 typedef enum {
106 
108 typedef enum {
110  XCCDF_OPERATOR_OR = 0x0003,
116 
118 typedef enum {
124 } xccdf_level_t;
125 
127 typedef enum {
132 
134 typedef enum {
138 } xccdf_role_t;
139 
141 typedef enum {
142  XCCDF_WARNING_NOT_SPECIFIED,
153 
155 typedef enum {
166 
168 typedef enum {
179 
180 /*--------------------*\
181 | Typedefs |
182 \*--------------------*/
183 
187 typedef float xccdf_numeric;
188 
194 
199 struct xccdf_profile;
200 
205 struct xccdf_item;
206 
211 struct xccdf_rule;
212 
217 struct xccdf_group;
218 
223 struct xccdf_value;
224 
229 struct xccdf_result;
230 
231 /*--------------------*\
232 | Support structures |
233 \*--------------------*/
234 
239 struct xccdf_notice;
240 
245 struct xccdf_status;
246 
251 struct xccdf_model;
252 
257 struct xccdf_warning;
258 
263 struct xccdf_select;
264 
269 struct xccdf_setvalue;
270 
275 struct xccdf_refine_value;
276 
281 struct xccdf_refine_rule;
282 
287 struct xccdf_ident;
288 
293 struct xccdf_check;
299 
304 struct xccdf_profile_note;
305 
311 struct xccdf_check_import;
312 
318 struct xccdf_check_export;
319 
325 struct xccdf_fix;
326 
332 struct xccdf_fixtext;
333 
341 struct xccdf_value_instance;
342 
348 struct xccdf_identity;
349 
355 struct xccdf_instance;
356 
362 struct xccdf_message;
363 
369 struct xccdf_override;
370 
376 struct xccdf_rule_result;
377 
383 struct xccdf_score;
384 
390 struct xccdf_target_fact;
391 
399 
406 
413 
420 
427 
434 
441 
448 
455 
462 
469 
476 
482 
489 
496 
503 
510 
517 
524 
531 
538 
545 
552 
559 
566 
573 
580 
587 
594 
601 
608 
615 
619 struct xccdf_version_info;
620 
622 const char* xccdf_version_info_get_version(const struct xccdf_version_info* v);
624 const char* xccdf_version_info_get_namespace_uri(const struct xccdf_version_info* v);
626 const char* xccdf_version_info_get_cpe_version(const struct xccdf_version_info* v);
627 
634 char * xccdf_detect_version(const char* file);
635 
636 /************************************************************/
637 
639 void xccdf_item_free(struct xccdf_item *item);
640 
642 struct xccdf_item * xccdf_item_clone(const struct xccdf_item * old_item);
643 
651 
658 struct xccdf_profile* xccdf_item_to_profile(struct xccdf_item* item);
659 
666 struct xccdf_rule* xccdf_item_to_rule(struct xccdf_item* item);
667 
674 struct xccdf_group* xccdf_item_to_group(struct xccdf_item* item);
675 
682 struct xccdf_value* xccdf_item_to_value(struct xccdf_item* item);
683 
690 struct xccdf_result* xccdf_item_to_result(struct xccdf_item* item);
691 
699 struct xccdf_benchmark* xccdf_benchmark_import(const char *file);
700 
707 int xccdf_benchmark_export(struct xccdf_benchmark *benchmark, const char *file);
708 
713 void xccdf_result_fill_sysinfo(struct xccdf_result *result);
714 
721 int xccdf_result_export(struct xccdf_result *result, const char *file);
722 
729 bool xccdf_benchmark_resolve(struct xccdf_benchmark *benchmark);
730 
734 void xccdf_benchmark_free(struct xccdf_benchmark *benchmark);
738 struct xccdf_benchmark * xccdf_benchmark_clone( const struct xccdf_benchmark * benchmark );
739 
745 const char * xccdf_benchmark_supported(void);
746 
748 struct xccdf_profile *xccdf_profile_new(void);
750 void xccdf_profile_free(struct xccdf_item *prof);
752 struct xccdf_item *xccdf_profile_to_item(struct xccdf_profile *item);
754 struct xccdf_profile * xccdf_profile_clone( const struct xccdf_profile * profile);
755 
757 struct xccdf_rule *xccdf_rule_new(void);
759 void xccdf_rule_free(struct xccdf_item *rule);
761 struct xccdf_item *xccdf_rule_to_item(struct xccdf_rule *item);
763 struct xccdf_rule * xccdf_rule_clone(const struct xccdf_rule * rule);
764 
766 struct xccdf_group *xccdf_group_new(void);
768 void xccdf_group_free(struct xccdf_item *group);
770 struct xccdf_item *xccdf_group_to_item(struct xccdf_group *item);
772 struct xccdf_group * xccdf_group_clone(const struct xccdf_group * group);
773 
777 void xccdf_value_free(struct xccdf_item *val);
779 struct xccdf_item *xccdf_value_to_item(struct xccdf_value *item);
781 struct xccdf_value * xccdf_value_clone(const struct xccdf_value * value);
782 
784 struct xccdf_status *xccdf_status_new(void);
786 struct xccdf_status * xccdf_status_clone(const struct xccdf_status * old_status);
788 struct xccdf_status *xccdf_status_new_fill(const char *status, const char *date);
790 void xccdf_status_free(struct xccdf_status *status);
792 struct xccdf_notice *xccdf_notice_new(void);
794 void xccdf_notice_free(struct xccdf_notice *notice);
796 struct xccdf_notice * xccdf_notice_clone(const struct xccdf_notice * notice);
797 
799 struct xccdf_model *xccdf_model_new(void);
801 struct xccdf_model * xccdf_model_clone(const struct xccdf_model * old_model);
803 void xccdf_model_free(struct xccdf_model *model);
804 
806 struct xccdf_ident *xccdf_ident_new(void);
808 struct xccdf_ident *xccdf_ident_new_fill(const char *id, const char *sys);
810 struct xccdf_ident *xccdf_ident_clone(const struct xccdf_ident * ident);
812 void xccdf_ident_free(struct xccdf_ident *ident);
813 
814 
816 struct xccdf_check *xccdf_check_new(void);
818 void xccdf_check_free(struct xccdf_check *check);
819 
821 struct xccdf_check *xccdf_check_clone(const struct xccdf_check *old_check);
823 struct xccdf_check_import *xccdf_check_import_clone(const struct xccdf_check_import *old_import);
825 struct xccdf_check_export *xccdf_check_export_clone(const struct xccdf_check_export *old_export);
828 
833 
838 
843 
848 
850 struct xccdf_fix *xccdf_fix_new(void);
852 struct xccdf_fix *xccdf_fix_clone(const struct xccdf_fix *old_fix);
854 void xccdf_fix_free(struct xccdf_fix *item);
855 
857 struct xccdf_fixtext *xccdf_fixtext_new(void);
859 struct xccdf_fixtext * xccdf_fixtext_clone(const struct xccdf_fixtext * fixtext);
861 void xccdf_fixtext_free(struct xccdf_fixtext *item);
862 
864 void xccdf_select_free(struct xccdf_select *sel);
866 struct xccdf_select *xccdf_select_clone(const struct xccdf_select * select);
868 struct xccdf_select *xccdf_select_new(void);
869 
871 struct xccdf_warning *xccdf_warning_new(void);
873 struct xccdf_warning *xccdf_warning_clone(const struct xccdf_warning *old_warning);
875 void xccdf_warning_free(struct xccdf_warning * warn);
876 
878 void xccdf_refine_rule_free(struct xccdf_refine_rule *obj);
879 
882 
883 void xccdf_setvalue_free(struct xccdf_setvalue *sv);
884 
889 void xccdf_cleanup(void);
890 
896 struct xccdf_group *xccdf_benchmark_append_new_group(struct xccdf_benchmark *, const char *id);
897 
904 
910 struct xccdf_rule *xccdf_benchmark_append_new_rule(struct xccdf_benchmark *, const char *id);
911 
915 struct xccdf_plain_text *xccdf_plain_text_new_fill(const char *id, const char *text);
917 void xccdf_plain_text_free(struct xccdf_plain_text *plain);
919 struct xccdf_plain_text *xccdf_plain_text_clone(const struct xccdf_plain_text * pt);
920 
922 struct xccdf_result *xccdf_result_new(void);
924 void xccdf_result_free(struct xccdf_result *item);
926 struct xccdf_item *xccdf_result_to_item(struct xccdf_result *item);
928 struct xccdf_result * xccdf_result_clone(const struct xccdf_result * result);
929 
933 struct xccdf_rule_result * xccdf_rule_result_clone(const struct xccdf_rule_result * result);
936 
938 struct xccdf_identity *xccdf_identity_new(void);
940 struct xccdf_identity * xccdf_identity_clone(const struct xccdf_identity * identity);
942 void xccdf_identity_free(struct xccdf_identity *identity);
943 
945 struct xccdf_score *xccdf_score_new(void);
947 struct xccdf_score * xccdf_score_clone(const struct xccdf_score * score);
949 void xccdf_score_free(struct xccdf_score *score);
950 
952 struct xccdf_override *xccdf_override_new(void);
954 struct xccdf_override * xccdf_override_clone(const struct xccdf_override * override);
956 void xccdf_override_free(struct xccdf_override *oride);
957 
959 struct xccdf_message *xccdf_message_new(void);
961 struct xccdf_message * xccdf_message_clone(const struct xccdf_message * message);
963 void xccdf_message_free(struct xccdf_message *msg);
964 
970 void xccdf_target_fact_free(struct xccdf_target_fact *fact);
971 
978 
980 struct xccdf_instance *xccdf_instance_new(void);
982 struct xccdf_instance * xccdf_instance_clone(const struct xccdf_instance * instance);
984 void xccdf_instance_free(struct xccdf_instance *inst);
985 
986 /*
987  * Get an iterator to the list of XCCDF value's possible (or suggested) values.
988  * @ralates xccdf_value
989  * @retval NULL on failure (e.g. the value is not a string)
990  */
991 // struct oscap_string_iterator* xccdf_value_choices_string(const struct xccdf_value* value);
992 
997 /* struct oscap_string_iterator* xccdf_value_get_sources(const struct xccdf_value* value); TODO */
998 
1001 
1002 /************************************************************/
1028 
1029 
1050 
1051 
1072 
1073 
1094 
1095 
1116 
1117 
1138 
1139 
1160 
1161 
1182 
1183 
1204 
1205 
1226 
1227 
1248 
1249 
1270 
1271 
1292 
1293 
1314 
1315 
1336 
1337 
1358 
1359 
1380 
1381 
1402 
1403 
1419 
1420 
1441 
1442 
1463 
1464 
1485 
1486 
1507 
1508 
1529 
1530 
1551 
1552 
1573 
1574 
1595 
1616 
1617 
1638 
1639 
1660 
1661 /************************************************************
1662  ** @} End of Iterators group */
1663 
1664 /************************************************************/
1675 xccdf_type_t xccdf_item_get_type(const struct xccdf_item *item);
1679 const char *xccdf_item_get_id(const struct xccdf_item *item);
1683 struct oscap_text_iterator *xccdf_item_get_title(const struct xccdf_item *item);
1687 struct oscap_text_iterator *xccdf_item_get_description(const struct xccdf_item *item);
1691 const char *xccdf_item_get_version(const struct xccdf_item *item);
1695 const char *xccdf_item_get_extends(const struct xccdf_item *item);
1699 struct xccdf_status_iterator *xccdf_item_get_statuses(const struct xccdf_item *item);
1703 struct oscap_reference_iterator *xccdf_item_get_dc_statuses(const struct xccdf_item *item);
1707 struct oscap_reference_iterator *xccdf_item_get_references(const struct xccdf_item *item);
1711 struct oscap_string_iterator *xccdf_item_get_conflicts(const struct xccdf_item* item);
1715 struct oscap_stringlist_iterator *xccdf_item_get_requires(const struct xccdf_item* item);
1719 xccdf_status_type_t xccdf_item_get_current_status(const struct xccdf_item *item);
1723 bool xccdf_item_get_hidden(const struct xccdf_item *item);
1727 bool xccdf_item_get_selected(const struct xccdf_item *item);
1731 bool xccdf_item_get_prohibit_changes(const struct xccdf_item *item);
1735 bool xccdf_item_get_abstract(const struct xccdf_item *item);
1739 struct xccdf_item_iterator *xccdf_item_get_content(const struct xccdf_item *item);
1743 const char * xccdf_test_result_type_get_text(xccdf_test_result_type_t id);
1747 struct xccdf_rule_result * xccdf_result_get_rule_result_by_id(struct xccdf_result * result, const char * id);
1748 
1754 struct xccdf_item *xccdf_item_get_parent(const struct xccdf_item *item);
1755 
1765 const struct xccdf_version_info* xccdf_item_get_schema_version(struct xccdf_item* item);
1766 
1770 struct oscap_string_iterator *xccdf_item_get_metadata(const struct xccdf_item *item);
1771 
1775 const char *xccdf_benchmark_get_id(const struct xccdf_benchmark *benchmark);
1779 bool xccdf_benchmark_get_resolved(const struct xccdf_benchmark *benchmark);
1783 struct oscap_text_iterator *xccdf_benchmark_get_title(const struct xccdf_benchmark *benchmark);
1787 struct oscap_text_iterator *xccdf_benchmark_get_description(const struct xccdf_benchmark *benchmark);
1791 const char *xccdf_benchmark_get_version(const struct xccdf_benchmark *benchmark);
1795 const struct xccdf_version_info* xccdf_benchmark_get_schema_version(const struct xccdf_benchmark* item);
1799 const char *xccdf_benchmark_get_style(const struct xccdf_benchmark *benchmark);
1803 const char *xccdf_benchmark_get_style_href(const struct xccdf_benchmark *benchmark);
1807 struct oscap_text_iterator *xccdf_benchmark_get_front_matter(const struct xccdf_benchmark *benchmark);
1811 struct oscap_text_iterator *xccdf_benchmark_get_rear_matter(const struct xccdf_benchmark *benchmark);
1815 struct xccdf_status_iterator *xccdf_benchmark_get_statuses(const struct xccdf_benchmark *benchmark);
1819 struct oscap_reference_iterator *xccdf_benchmark_get_dc_statuses(const struct xccdf_benchmark *benchmark);
1823 struct oscap_reference_iterator *xccdf_benchmark_get_references(const struct xccdf_benchmark *benchmark);
1827 struct oscap_string_iterator *xccdf_benchmark_get_platforms(const struct xccdf_benchmark *benchmark);
1831 xccdf_status_type_t xccdf_benchmark_get_status_current(const struct xccdf_benchmark *benchmark);
1835 struct xccdf_plain_text_iterator *xccdf_benchmark_get_plain_texts(const struct xccdf_benchmark *item);
1839 struct xccdf_result_iterator* xccdf_benchmark_get_results(const struct xccdf_benchmark *bench);
1843 struct xccdf_value_iterator *xccdf_benchmark_get_values(const struct xccdf_benchmark *item);
1845 bool xccdf_benchmark_set_lang(struct xccdf_benchmark *item, const char *newval);
1847 const char *xccdf_benchmark_get_lang(const struct xccdf_benchmark *item);
1848 
1856 const char *xccdf_benchmark_get_plain_text(const struct xccdf_benchmark *benchmark, const char *id);
1857 
1865 struct xccdf_item *xccdf_benchmark_get_item(const struct xccdf_benchmark *benchmark, const char *id);
1866 
1874 struct xccdf_item *xccdf_benchmark_get_member(const struct xccdf_benchmark *benchmark, xccdf_type_t type, const char *key);
1875 
1881 struct xccdf_notice_iterator *xccdf_benchmark_get_notices(const struct xccdf_benchmark *benchmark);
1882 
1888 struct xccdf_model_iterator *xccdf_benchmark_get_models(const struct xccdf_benchmark *benchmark);
1889 
1896 
1904 struct xccdf_item_iterator *xccdf_benchmark_get_content(const struct xccdf_benchmark *benchmark);
1905 
1909 struct oscap_string_iterator *xccdf_benchmark_get_metadata(const struct xccdf_benchmark *benchmark);
1910 
1914 const char *xccdf_profile_get_id(const struct xccdf_profile *profile);
1918 struct oscap_text_iterator *xccdf_profile_get_title(const struct xccdf_profile *profile);
1922 struct oscap_text_iterator *xccdf_profile_get_description(const struct xccdf_profile *profile);
1926 const char *xccdf_profile_get_version(const struct xccdf_profile *profile);
1930 const char *xccdf_profile_get_extends(const struct xccdf_profile *profile);
1934 struct xccdf_benchmark *xccdf_profile_get_benchmark(const struct xccdf_profile *profile);
1938 bool xccdf_profile_get_abstract(const struct xccdf_profile *profile);
1942 bool xccdf_profile_get_prohibit_changes(const struct xccdf_profile *profile);
1946 struct oscap_string_iterator *xccdf_profile_get_platforms(const struct xccdf_profile *profile);
1950 struct xccdf_status_iterator *xccdf_profile_get_statuses(const struct xccdf_profile *profile);
1954 struct oscap_reference_iterator *xccdf_profile_get_dc_statuses(const struct xccdf_profile *profile);
1958 struct oscap_reference_iterator *xccdf_profile_get_references(const struct xccdf_profile *profile);
1962 xccdf_status_type_t xccdf_profile_get_status_current(const struct xccdf_profile *profile);
1966 /* const char* xccdf_profile_note_get_tag(const struct xccdf_profile* profile); TODO */
1970 struct xccdf_select_iterator *xccdf_profile_get_selects(const struct xccdf_profile *profile);
1974 struct xccdf_setvalue_iterator *xccdf_profile_get_setvalues(const struct xccdf_profile *profile);
1978 struct xccdf_refine_value_iterator *xccdf_profile_get_refine_values(const struct xccdf_profile *profile);
1982 struct xccdf_refine_rule_iterator *xccdf_profile_get_refine_rules(const struct xccdf_profile *profile);
1986 struct oscap_string_iterator *xccdf_profile_get_metadata(const struct xccdf_profile *profile);
1987 
1993 struct xccdf_item *xccdf_rule_get_parent(const struct xccdf_rule *rule);
1994 
1998 const char *xccdf_rule_get_id(const struct xccdf_rule *rule);
2002 struct oscap_text_iterator *xccdf_rule_get_title(const struct xccdf_rule *rule);
2006 struct oscap_text_iterator *xccdf_rule_get_description(const struct xccdf_rule *rule);
2010 const char *xccdf_rule_get_version(const struct xccdf_rule *rule);
2014 struct oscap_text_iterator *xccdf_rule_get_question(const struct xccdf_rule *rule);
2018 struct xccdf_warning_iterator *xccdf_rule_get_warnings(const struct xccdf_rule *rule);
2022 struct oscap_text_iterator *xccdf_rule_get_rationale(const struct xccdf_rule *rule);
2026 const char *xccdf_rule_get_cluster_id(const struct xccdf_rule *rule);
2030 float xccdf_rule_get_weight(const struct xccdf_rule *rule);
2034 bool xccdf_rule_set_weight(struct xccdf_rule *item, xccdf_numeric newval);
2038 const char *xccdf_rule_get_extends(const struct xccdf_rule *rule);
2042 bool xccdf_rule_get_abstract(const struct xccdf_rule *rule);
2046 bool xccdf_rule_get_prohibit_changes(const struct xccdf_rule *rule);
2050 bool xccdf_rule_get_hidden(const struct xccdf_rule *rule);
2054 bool xccdf_rule_get_selected(const struct xccdf_rule *rule);
2058 bool xccdf_rule_get_multiple(const struct xccdf_rule *rule);
2062 struct oscap_string_iterator *xccdf_rule_get_platforms(const struct xccdf_rule *rule);
2066 struct xccdf_status_iterator *xccdf_rule_get_statuses(const struct xccdf_rule *rule);
2070 struct oscap_reference_iterator *xccdf_rule_get_dc_statuses(const struct xccdf_rule *rule);
2074 struct oscap_reference_iterator *xccdf_rule_get_references(const struct xccdf_rule *rule);
2078 xccdf_status_type_t xccdf_rule_get_status_current(const struct xccdf_rule *rule);
2082 const char *xccdf_rule_get_impact_metric(const struct xccdf_rule *rule);
2086 xccdf_role_t xccdf_rule_get_role(const struct xccdf_rule *rule);
2090 xccdf_level_t xccdf_rule_get_severity(const struct xccdf_rule *rule);
2094 struct xccdf_ident_iterator *xccdf_rule_get_idents(const struct xccdf_rule *rule);
2098 struct xccdf_check_iterator *xccdf_rule_get_checks(const struct xccdf_rule *rule);
2102 struct xccdf_profile_note_iterator *xccdf_rule_get_profile_notes(const struct xccdf_rule *rule);
2106 struct xccdf_fix_iterator *xccdf_rule_get_fixes(const struct xccdf_rule *rule);
2110 struct xccdf_fixtext_iterator *xccdf_rule_get_fixtexts(const struct xccdf_rule *rule);
2114 struct oscap_string_iterator *xccdf_rule_get_conflicts(const struct xccdf_rule* rule);
2118 struct oscap_stringlist_iterator *xccdf_rule_get_requires(const struct xccdf_rule* rule);
2122 struct oscap_string_iterator *xccdf_rule_get_metadata(const struct xccdf_rule *rule);
2123 
2124 /*
2125  * Return group's parent in the grouping hierarchy.
2126  * Returned item will be either a group or a benchmark.
2127  * @memberof xccdf_group
2128  */
2129 struct xccdf_item *xccdf_group_get_parent(const struct xccdf_group *group);
2130 
2138 struct xccdf_item_iterator *xccdf_group_get_content(const struct xccdf_group *group);
2139 
2141 struct xccdf_value_iterator *xccdf_group_get_values(const struct xccdf_group *group);
2142 
2144 const char *xccdf_group_get_id(const struct xccdf_group *group);
2146 struct oscap_text_iterator *xccdf_group_get_title(const struct xccdf_group *group);
2148 struct oscap_text_iterator *xccdf_group_get_description(const struct xccdf_group *group);
2150 const char *xccdf_group_get_version(const struct xccdf_group *group);
2152 struct oscap_text_iterator *xccdf_group_get_question(const struct xccdf_group *group);
2154 struct xccdf_warning_iterator *xccdf_group_get_warnings(const struct xccdf_group *group);
2156 struct oscap_text_iterator *xccdf_group_get_rationale(const struct xccdf_group *group);
2158 const char *xccdf_group_get_cluster_id(const struct xccdf_group *group);
2160 float xccdf_group_get_weight(const struct xccdf_group *group);
2162 bool xccdf_group_set_weight(struct xccdf_group *item, xccdf_numeric newval);
2164 const char *xccdf_group_get_extends(const struct xccdf_group *group);
2166 bool xccdf_group_get_abstract(const struct xccdf_group *group);
2168 bool xccdf_group_get_prohibit_changes(const struct xccdf_group *group);
2170 bool xccdf_group_get_hidden(const struct xccdf_group *group);
2172 bool xccdf_group_get_selected(const struct xccdf_group *group);
2174 struct oscap_string_iterator *xccdf_group_get_platforms(const struct xccdf_group *group);
2176 struct xccdf_status_iterator *xccdf_group_get_statuses(const struct xccdf_group *group);
2178 struct oscap_reference_iterator *xccdf_group_get_dc_statuses(const struct xccdf_group *group);
2180 struct oscap_reference_iterator *xccdf_group_get_references(const struct xccdf_group *group);
2184 struct oscap_string_iterator *xccdf_group_get_conflicts(const struct xccdf_group* group);
2188 struct oscap_string_iterator *xccdf_group_get_metadata(const struct xccdf_group *group);
2189 
2191 struct oscap_text_iterator *xccdf_value_get_title(const struct xccdf_value *value);
2193 const char *xccdf_value_get_id(const struct xccdf_value *value);
2195 struct oscap_text_iterator *xccdf_value_get_description(const struct xccdf_value *value);
2197 const char *xccdf_value_get_extends(const struct xccdf_value *value);
2199 bool xccdf_value_get_abstract(const struct xccdf_value *value);
2201 bool xccdf_value_get_prohibit_changes(const struct xccdf_value *value);
2203 bool xccdf_value_get_hidden(const struct xccdf_value *value);
2205 bool xccdf_value_get_interactive(const struct xccdf_value *value);
2207 struct xccdf_status_iterator *xccdf_value_get_statuses(const struct xccdf_value *value);
2209 struct oscap_reference_iterator *xccdf_value_get_dc_statuses(const struct xccdf_value *value);
2211 struct oscap_reference_iterator *xccdf_value_get_references(const struct xccdf_value *value);
2221 struct xccdf_value_instance *xccdf_value_get_instance_by_selector(const struct xccdf_value *value, const char *selector);
2223 bool xccdf_value_add_instance(struct xccdf_value *value, struct xccdf_value_instance *instance);
2227 struct oscap_string_iterator *xccdf_value_get_metadata(const struct xccdf_value *value);
2228 
2234 const char *xccdf_value_instance_get_selector(const struct xccdf_value_instance *item);
2236 bool xccdf_value_instance_set_selector(struct xccdf_value_instance *obj, const char *newval);
2242 bool xccdf_value_instance_set_must_match(struct xccdf_value_instance *obj, bool newval);
2246 bool xccdf_value_instance_set_value_boolean(struct xccdf_value_instance *inst, bool newval);
2252 const char *xccdf_value_instance_get_value_string(const struct xccdf_value_instance *inst);
2254 bool xccdf_value_instance_set_value_string(struct xccdf_value_instance *inst, const char *newval);
2258 bool xccdf_value_instance_set_defval_boolean(struct xccdf_value_instance *inst, bool newval);
2264 const char *xccdf_value_instance_get_defval_string(const struct xccdf_value_instance *inst);
2266 bool xccdf_value_instance_set_defval_string(struct xccdf_value_instance *inst, const char *newval);
2276 const char *xccdf_value_instance_get_match(const struct xccdf_value_instance *inst);
2278 bool xccdf_value_instance_set_match(struct xccdf_value_instance *inst, const char *newval);
2280 const char * xccdf_value_instance_get_value(const struct xccdf_value_instance * val);
2281 
2287 struct xccdf_item *xccdf_value_get_parent(const struct xccdf_value *value);
2288 
2289 
2291 time_t xccdf_status_get_date(const struct xccdf_status *status);
2295 const char *xccdf_notice_get_id(const struct xccdf_notice *notice);
2297 struct oscap_text *xccdf_notice_get_text(const struct xccdf_notice *notice);
2299 const char *xccdf_model_get_system(const struct xccdf_model *model);
2301 /* const char* xccdf_model_get_param(const struct xccdf_model* model, const char* param_name); TODO */
2303 const char *xccdf_ident_get_id(const struct xccdf_ident *ident);
2305 const char *xccdf_ident_get_system(const struct xccdf_ident *ident);
2307 const char *xccdf_check_get_id(const struct xccdf_check *check);
2308 
2314 bool xccdf_check_get_complex(const struct xccdf_check *check);
2315 
2323 const char *xccdf_check_get_system(const struct xccdf_check *check);
2325 const char *xccdf_check_get_selector(const struct xccdf_check *check);
2327 const char *xccdf_check_get_content(const struct xccdf_check *check);
2329 //struct xccdf_rule *xccdf_check_get_parent(const struct xccdf_check *check);
2335 struct xccdf_check_iterator *xccdf_check_get_children(const struct xccdf_check *check);
2336 
2338 const char *xccdf_check_content_ref_get_href(const struct xccdf_check_content_ref *ref);
2340 const char *xccdf_check_content_ref_get_name(const struct xccdf_check_content_ref *ref);
2342 const char *xccdf_profile_note_get_reftag(const struct xccdf_profile_note *note);
2344 struct oscap_text *xccdf_profile_note_get_text(const struct xccdf_profile_note *note);
2346 const char *xccdf_check_import_get_name(const struct xccdf_check_import *item);
2348 const char *xccdf_check_import_get_xpath(const struct xccdf_check_import *item);
2350 const char *xccdf_check_import_get_content(const struct xccdf_check_import *item);
2352 const char *xccdf_check_export_get_value(const struct xccdf_check_export *item);
2354 const char *xccdf_check_export_get_name(const struct xccdf_check_export *item);
2355 
2357 const char *xccdf_fix_get_content(const struct xccdf_fix *fix);
2359 bool xccdf_fix_get_reboot(const struct xccdf_fix *fix);
2367 const char *xccdf_fix_get_id(const struct xccdf_fix *fix);
2369 const char *xccdf_fix_get_system(const struct xccdf_fix *fix);
2371 const char *xccdf_fix_get_platform(const struct xccdf_fix *fix);
2373 bool xccdf_fixtext_get_reboot(const struct xccdf_fixtext *fixtext);
2381 const char *xccdf_fixtext_get_fixref(const struct xccdf_fixtext *fixtext);
2383 struct oscap_text *xccdf_fixtext_get_text(const struct xccdf_fixtext *fixtext);
2385 const char *xccdf_value_get_version(const struct xccdf_value *value);
2387 struct oscap_text_iterator *xccdf_value_get_question(const struct xccdf_value *value);
2389 struct xccdf_warning_iterator *xccdf_value_get_warnings(const struct xccdf_value *value);
2391 const char *xccdf_value_get_version_update(const struct xccdf_value *value);
2393 time_t xccdf_value_get_version_time(const struct xccdf_value *value);
2395 struct xccdf_benchmark *xccdf_value_get_benchmark(const struct xccdf_value *value);
2397 struct oscap_string_iterator *xccdf_value_get_sources(const struct xccdf_value *value);
2399 const char *xccdf_value_get_cluster_id(const struct xccdf_value *value);
2400 
2402 struct oscap_text_iterator *xccdf_item_get_question(const struct xccdf_item *item);
2404 struct xccdf_warning_iterator *xccdf_item_get_warnings(const struct xccdf_item *item);
2406 struct oscap_text_iterator *xccdf_item_get_rationale(const struct xccdf_item *item);
2408 const char *xccdf_item_get_cluster_id(const struct xccdf_item *item);
2410 const char *xccdf_item_get_version_update(const struct xccdf_item *item);
2412 time_t xccdf_item_get_version_time(const struct xccdf_item *item);
2414 float xccdf_item_get_weight(const struct xccdf_item *item);
2416 struct xccdf_benchmark *xccdf_item_get_benchmark(const struct xccdf_item *item);
2418 struct oscap_string_iterator *xccdf_item_get_platforms(const struct xccdf_item *item);
2419 
2423 const char *xccdf_benchmark_get_version_update(const struct xccdf_benchmark *benchmark);
2425 time_t xccdf_benchmark_get_version_time(const struct xccdf_benchmark *benchmark);
2426 
2428 const char *xccdf_profile_get_version_update(const struct xccdf_profile *profile);
2430 time_t xccdf_profile_get_version_time(const struct xccdf_profile *profile);
2432 const char *xccdf_profile_get_note_tag(const struct xccdf_profile *profile);
2433 
2435 const char *xccdf_rule_get_version_update(const struct xccdf_rule *rule);
2437 time_t xccdf_rule_get_version_time(const struct xccdf_rule *rule);
2439 struct xccdf_benchmark *xccdf_rule_get_benchmark(const struct xccdf_rule *rule);
2440 
2442 time_t xccdf_group_get_version_time(const struct xccdf_group *group);
2444 const char *xccdf_group_get_version_update(const struct xccdf_group *group);
2446 struct xccdf_benchmark *xccdf_group_get_benchmark(const struct xccdf_group *group);
2447 
2454 
2456 bool xccdf_select_get_selected(const struct xccdf_select *select);
2458 const char *xccdf_select_get_item(const struct xccdf_select *select);
2460 struct oscap_text_iterator *xccdf_select_get_remarks(const struct xccdf_select *select);
2461 
2465 struct oscap_text *xccdf_warning_get_text(const struct xccdf_warning *warning);
2467 const char * xccdf_refine_rule_get_item(const struct xccdf_refine_rule* rr);
2469 const char * xccdf_refine_rule_get_selector(const struct xccdf_refine_rule* rr);
2478 const char * xccdf_refine_value_get_item(const struct xccdf_refine_value* rv);
2480 const char * xccdf_refine_value_get_selector(const struct xccdf_refine_value* rv);
2486 const char *xccdf_setvalue_get_item(const struct xccdf_setvalue* sv);
2488 const char *xccdf_setvalue_get_value(const struct xccdf_setvalue* sv);
2489 
2491 const char *xccdf_plain_text_get_id(const struct xccdf_plain_text *item);
2493 const char *xccdf_plain_text_get_text(const struct xccdf_plain_text *item);
2494 
2496 struct xccdf_benchmark *xccdf_result_get_benchmark(const struct xccdf_result *item);
2498 const char *xccdf_result_get_id(const struct xccdf_result *item);
2500 struct oscap_text_iterator *xccdf_result_get_title(const struct xccdf_result *item);
2502 const char *xccdf_result_get_version(const struct xccdf_result *item);
2508 const char *xccdf_result_get_test_system(const struct xccdf_result *item);
2510 const char *xccdf_result_get_benchmark_uri(const struct xccdf_result *item);
2512 const char *xccdf_result_get_profile(const struct xccdf_result *item);
2516 struct oscap_string_iterator *xccdf_result_get_targets(const struct xccdf_result *item);
2522 struct oscap_text_iterator *xccdf_result_get_remarks(const struct xccdf_result *item);
2532 struct xccdf_score_iterator *xccdf_result_get_scores(const struct xccdf_result *item);
2534 time_t xccdf_result_get_start_time(const struct xccdf_result *item);
2536 time_t xccdf_result_get_end_time(const struct xccdf_result *item);
2538 struct oscap_string_iterator *xccdf_result_get_metadata(const struct xccdf_result *result);
2539 
2541 time_t xccdf_rule_result_get_time(const struct xccdf_rule_result *item);
2545 float xccdf_rule_result_get_weight(const struct xccdf_rule_result *item);
2551 const char *xccdf_rule_result_get_version(const struct xccdf_rule_result *item);
2553 const char *xccdf_rule_result_get_idref(const struct xccdf_rule_result *item);
2567 bool xccdf_identity_get_authenticated(const struct xccdf_identity *item);
2569 bool xccdf_identity_get_privileged(const struct xccdf_identity *item);
2571 const char *xccdf_identity_get_name(const struct xccdf_identity *item);
2575 xccdf_numeric xccdf_score_get_score(const struct xccdf_score *item);
2577 const char *xccdf_score_get_system(const struct xccdf_score *item);
2579 time_t xccdf_override_get_time(const struct xccdf_override *item);
2585 const char *xccdf_override_get_authority(const struct xccdf_override *item);
2587 struct oscap_text *xccdf_override_get_remark(const struct xccdf_override *item);
2591 const char *xccdf_message_get_content(const struct xccdf_message *item);
2595 const char *xccdf_target_fact_get_value(const struct xccdf_target_fact *item);
2597 const char *xccdf_target_fact_get_name(const struct xccdf_target_fact *item);
2601 const char *xccdf_target_identifier_get_system(const struct xccdf_target_identifier *item);
2603 const char *xccdf_target_identifier_get_href(const struct xccdf_target_identifier *item);
2605 const char *xccdf_target_identifier_get_name(const struct xccdf_target_identifier *item);
2607 const char *xccdf_instance_get_context(const struct xccdf_instance *item);
2609 const char *xccdf_instance_get_parent_context(const struct xccdf_instance *item);
2611 const char *xccdf_instance_get_content(const struct xccdf_instance *item);
2612 
2613 
2614 /************************************************************
2615  ** @} End of Getters group */
2616 
2617 /************************************************************/
2625 
2626 bool xccdf_item_set_weight(struct xccdf_item *item, xccdf_numeric newval);
2628 bool xccdf_item_set_id(struct xccdf_item *item, const char *newval);
2630 bool xccdf_item_set_cluster_id(struct xccdf_item *item, const char *newval);
2632 bool xccdf_item_set_extends(struct xccdf_item *item, const char *newval);
2634 bool xccdf_item_set_version(struct xccdf_item *item, const char *newval);
2636 bool xccdf_item_set_version_time(struct xccdf_item *item, time_t newval);
2638 bool xccdf_item_set_version_update(struct xccdf_item *item, const char *newval);
2640 bool xccdf_item_set_abstract(struct xccdf_item *item, bool newval);
2642 bool xccdf_item_set_hidden(struct xccdf_item *item, bool newval);
2644 bool xccdf_item_set_prohibit_changes(struct xccdf_item *item, bool newval);
2646 bool xccdf_item_set_selected(struct xccdf_item *item, bool newval);
2647 
2649 bool xccdf_item_add_metadata(struct xccdf_item *item, const char* metadata);
2650 
2652 bool xccdf_benchmark_set_resolved(struct xccdf_benchmark *item, bool newval);
2653 
2655 bool xccdf_benchmark_set_style_href(struct xccdf_benchmark *item, const char *newval);
2657 bool xccdf_benchmark_set_style(struct xccdf_benchmark *item, const char *newval);
2659 bool xccdf_benchmark_set_id(struct xccdf_benchmark *item, const char *newval);
2661 bool xccdf_benchmark_set_version(struct xccdf_benchmark *item, const char *newval);
2663 bool xccdf_benchmark_set_version_time(struct xccdf_benchmark *item, time_t newval);
2665 bool xccdf_benchmark_set_version_update(struct xccdf_benchmark *item, const char *newval);
2667 bool xccdf_benchmark_set_schema_version(struct xccdf_benchmark* item, const struct xccdf_version_info* newval);
2669 bool xccdf_benchmark_add_metadata(struct xccdf_benchmark* item, const char* metadata);
2670 
2672 bool xccdf_profile_set_note_tag(struct xccdf_profile *item, const char *newval);
2674 bool xccdf_profile_set_id(struct xccdf_profile *item, const char *newval);
2676 bool xccdf_profile_set_abstract(struct xccdf_profile *item, bool newval);
2678 bool xccdf_profile_set_prohibit_changes(struct xccdf_profile *item, bool newval);
2680 bool xccdf_profile_set_extends(struct xccdf_profile *item, const char *newval);
2682 bool xccdf_profile_set_version(struct xccdf_profile *item, const char *newval);
2684 bool xccdf_profile_set_version_time(struct xccdf_profile *item, time_t newval);
2686 bool xccdf_profile_set_version_update(struct xccdf_profile *item, const char *newval);
2688 bool xccdf_profile_add_metadata(struct xccdf_profile* item, const char* metadata);
2689 
2691 bool xccdf_rule_set_id(struct xccdf_rule *item, const char *newval);
2693 bool xccdf_rule_set_cluster_id(struct xccdf_rule *item, const char *newval);
2695 bool xccdf_rule_set_extends(struct xccdf_rule *item, const char *newval);
2697 bool xccdf_rule_set_version(struct xccdf_rule *item, const char *newval);
2699 bool xccdf_rule_set_version_time(struct xccdf_rule *item, time_t newval);
2701 bool xccdf_rule_set_version_update(struct xccdf_rule *item, const char *newval);
2703 bool xccdf_rule_set_abstract(struct xccdf_rule *item, bool newval);
2705 bool xccdf_rule_set_hidden(struct xccdf_rule *item, bool newval);
2707 bool xccdf_rule_set_prohibit_changes(struct xccdf_rule *item, bool newval);
2709 bool xccdf_rule_set_selected(struct xccdf_rule *item, bool newval);
2711 bool xccdf_rule_set_multiple(struct xccdf_rule *item, bool newval);
2713 //bool xccdf_rule_set_selector(struct xccdf_rule *item, const char * selector);
2715 bool xccdf_rule_set_impact_metric(struct xccdf_rule *item, const char *newval);
2717 bool xccdf_rule_set_role(struct xccdf_rule *item, xccdf_role_t newval);
2719 bool xccdf_rule_set_severity(struct xccdf_rule *item, xccdf_level_t newval);
2721 bool xccdf_rule_add_metadata(struct xccdf_rule* item, const char* metadata);
2722 
2724 bool xccdf_group_set_id(struct xccdf_group *item, const char *newval);
2726 bool xccdf_group_set_cluster_id(struct xccdf_group *item, const char *newval);
2728 bool xccdf_group_set_extends(struct xccdf_group *item, const char *newval);
2730 bool xccdf_group_set_version(struct xccdf_group *item, const char *newval);
2732 bool xccdf_group_set_version_time(struct xccdf_group *item, time_t newval);
2734 bool xccdf_group_set_version_update(struct xccdf_group *item, const char *newval);
2736 bool xccdf_group_set_abstract(struct xccdf_group *item, bool newval);
2738 bool xccdf_group_set_hidden(struct xccdf_group *item, bool newval);
2740 bool xccdf_group_set_prohibit_changes(struct xccdf_group *item, bool newval);
2742 bool xccdf_group_set_selected(struct xccdf_group *item, bool newval);
2744 bool xccdf_group_add_metadata(struct xccdf_group* item, const char* metadata);
2745 
2747 bool xccdf_value_set_id(struct xccdf_value *item, const char *newval);
2749 bool xccdf_value_set_cluster_id(struct xccdf_value *item, const char *newval);
2751 bool xccdf_value_set_extends(struct xccdf_value *item, const char *newval);
2753 bool xccdf_value_set_version(struct xccdf_value *item, const char *newval);
2755 bool xccdf_value_set_version_time(struct xccdf_value *item, time_t newval);
2757 bool xccdf_value_set_version_update(struct xccdf_value *item, const char *newval);
2759 bool xccdf_value_set_abstract(struct xccdf_value *item, bool newval);
2761 bool xccdf_value_set_hidden(struct xccdf_value *item, bool newval);
2763 bool xccdf_value_set_multiple(struct xccdf_value *item, bool newval);
2765 bool xccdf_value_set_prohibit_changes(struct xccdf_value *item, bool newval);
2767 bool xccdf_value_set_oper(struct xccdf_value * item, xccdf_operator_t oper);
2769 bool xccdf_value_set_interactive(struct xccdf_value *item, bool newval);
2771 bool xccdf_value_add_metadata(struct xccdf_value* item, const char* metadata);
2772 
2774 bool xccdf_status_set_date(struct xccdf_status *obj, time_t newval);
2776 bool xccdf_status_set_status(struct xccdf_status *obj, xccdf_status_type_t newval);
2777 
2779 bool xccdf_notice_set_id(struct xccdf_notice *obj, const char *newval);
2781 bool xccdf_notice_set_text(struct xccdf_notice *obj, struct oscap_text *newval);
2782 
2784 bool xccdf_model_set_system(struct xccdf_model *obj, const char *newval);
2785 
2787 bool xccdf_check_set_id(struct xccdf_check *obj, const char *newval);
2789 bool xccdf_check_set_system(struct xccdf_check *obj, const char *newval);
2791 bool xccdf_check_set_selector(struct xccdf_check *obj, const char *newval);
2793 bool xccdf_check_set_content(struct xccdf_check *obj, const char *newval);
2795 bool xccdf_check_set_oper(struct xccdf_check *obj, xccdf_bool_operator_t newval);
2796 
2798 bool xccdf_check_content_ref_set_name(struct xccdf_check_content_ref *obj, const char *newval);
2800 bool xccdf_check_content_ref_set_href(struct xccdf_check_content_ref *obj, const char *newval);
2801 
2803 bool xccdf_profile_note_set_reftag(struct xccdf_profile_note *obj, const char *newval);
2805 bool xccdf_profile_note_set_text(struct xccdf_profile_note *obj, struct oscap_text *newval);
2806 
2808 bool xccdf_check_import_set_name(struct xccdf_check_import *obj, const char *newval);
2810 bool xccdf_check_import_set_xpath(struct xccdf_check_import *obj, const char *newval);
2812 bool xccdf_check_import_set_content(struct xccdf_check_import *obj, const char *newval);
2813 
2815 bool xccdf_check_export_set_name(struct xccdf_check_export *obj, const char *newval);
2817 bool xccdf_check_export_set_value(struct xccdf_check_export *obj, const char *newval);
2818 
2820 bool xccdf_fix_set_strategy(struct xccdf_fix *obj, xccdf_strategy_t newval);
2822 bool xccdf_fix_set_disruption(struct xccdf_fix *obj, xccdf_level_t newval);
2824 bool xccdf_fix_set_complexity(struct xccdf_fix *obj, xccdf_level_t newval);
2826 bool xccdf_fix_set_reboot(struct xccdf_fix *obj, bool newval);
2828 bool xccdf_fix_set_content(struct xccdf_fix *obj, const char *newval);
2830 bool xccdf_fix_set_system(struct xccdf_fix *obj, const char *newval);
2832 bool xccdf_fix_set_platform(struct xccdf_fix *obj, const char *newval);
2834 bool xccdf_fix_set_id(struct xccdf_fix *obj, const char *newval);
2835 
2839 bool xccdf_fixtext_set_disruption(struct xccdf_fixtext *obj, xccdf_level_t newval);
2841 bool xccdf_fixtext_set_complexity(struct xccdf_fixtext *obj, xccdf_level_t newval);
2843 bool xccdf_fixtext_set_reboot(struct xccdf_fixtext *obj, bool newval);
2845 bool xccdf_fixtext_set_text(struct xccdf_fixtext *obj, struct oscap_text *newval);
2847 bool xccdf_fixtext_set_fixref(struct xccdf_fixtext *obj, const char *newval);
2848 
2850 bool xccdf_select_set_item(struct xccdf_select *obj, const char *newval);
2852 bool xccdf_select_set_selected(struct xccdf_select *obj, bool newval);
2853 
2857 bool xccdf_warning_set_text(struct xccdf_warning *obj, struct oscap_text *newval);
2860 
2862 struct xccdf_refine_rule * xccdf_refine_rule_clone(const struct xccdf_refine_rule * old_rule);
2864 bool xccdf_refine_rule_set_item(struct xccdf_refine_rule *obj, const char *newval);
2866 bool xccdf_refine_rule_set_selector(struct xccdf_refine_rule *obj, const char *newval);
2873 
2877 struct xccdf_refine_value * xccdf_refine_value_clone(const struct xccdf_refine_value * old_value);
2879 bool xccdf_refine_value_set_item(struct xccdf_refine_value *obj, const char *newval);
2881 bool xccdf_refine_value_set_selector(struct xccdf_refine_value *obj, const char *newval);
2884 
2886 struct xccdf_setvalue *xccdf_setvalue_new(void);
2888 struct xccdf_setvalue * xccdf_setvalue_clone(const struct xccdf_setvalue * old_value);
2890 bool xccdf_setvalue_set_item(struct xccdf_setvalue *obj, const char *newval);
2892 bool xccdf_setvalue_set_value(struct xccdf_setvalue *obj, const char *newval);
2894 bool xccdf_plain_text_set_id(struct xccdf_plain_text *obj, const char *newval);
2896 bool xccdf_plain_text_set_text(struct xccdf_plain_text *obj, const char *newval);
2897 
2899 bool xccdf_result_set_id(struct xccdf_result *item, const char *newval);
2901 bool xccdf_result_set_test_system(struct xccdf_result *item, const char *newval);
2903 bool xccdf_result_set_benchmark_uri(struct xccdf_result *item, const char *newval);
2905 bool xccdf_result_set_profile(struct xccdf_result *item, const char *newval);
2907 bool xccdf_result_set_start_time(struct xccdf_result *item, time_t newval);
2909 bool xccdf_result_set_end_time(struct xccdf_result *item, time_t newval);
2911 bool xccdf_result_set_version(struct xccdf_result *item, const char *newval);
2913 bool xccdf_result_add_metadata(struct xccdf_result *item, const char *metadata);
2914 
2916 bool xccdf_rule_result_set_time(struct xccdf_rule_result *obj, time_t newval);
2920 bool xccdf_rule_result_set_weight(struct xccdf_rule_result *obj, float newval);
2926 bool xccdf_rule_result_set_version(struct xccdf_rule_result *obj, const char *newval);
2928 bool xccdf_rule_result_set_idref(struct xccdf_rule_result *obj, const char *newval);
2929 
2931 bool xccdf_identity_set_authenticated(struct xccdf_identity *obj, bool newval);
2933 bool xccdf_identity_set_privileged(struct xccdf_identity *obj, bool newval);
2935 bool xccdf_identity_set_name(struct xccdf_identity *obj, const char *newval);
2936 
2938 bool xccdf_score_set_maximum(struct xccdf_score *obj, xccdf_numeric newval);
2940 bool xccdf_score_set_score(struct xccdf_score *obj, xccdf_numeric newval);
2942 bool xccdf_score_set_system(struct xccdf_score *obj, const char *newval);
2943 
2945 bool xccdf_override_set_time(struct xccdf_override *obj, time_t newval);
2951 bool xccdf_override_set_authority(struct xccdf_override *obj, const char *newval);
2953 bool xccdf_override_set_remark(struct xccdf_override *obj, struct oscap_text *newval);
2954 
2958 bool xccdf_message_set_content(struct xccdf_message *obj, const char *newval);
2959 
2961 bool xccdf_target_fact_set_string(struct xccdf_target_fact *fact, const char *str);
2965 bool xccdf_target_fact_set_boolean(struct xccdf_target_fact *fact, bool val);
2967 bool xccdf_target_fact_set_name(struct xccdf_target_fact *obj, const char *newval);
2968 
2972 bool xccdf_target_identifier_set_system(struct xccdf_target_identifier *ti, const char *newval);
2974 bool xccdf_target_identifier_set_href(struct xccdf_target_identifier *ti, const char *newval);
2976 bool xccdf_target_identifier_set_name(struct xccdf_target_identifier *ti, const char *newval);
2977 
2979 bool xccdf_instance_set_context(struct xccdf_instance *obj, const char *newval);
2981 bool xccdf_instance_set_parent_context(struct xccdf_instance *obj, const char *newval);
2983 bool xccdf_instance_set_content(struct xccdf_instance *obj, const char *newval);
2984 
2985 // @memberof xccdf_ident
2986 void xccdf_ident_set_id(struct xccdf_ident * ident, const char *id);
2987 // @memberof xccdf_ident
2988 void xccdf_ident_set_system(struct xccdf_ident * ident, const char *sys);
2989 
2991 bool xccdf_benchmark_add_result(struct xccdf_benchmark *bench, struct xccdf_result *result);
2992 
2994 bool xccdf_benchmark_add_description(struct xccdf_benchmark *item, struct oscap_text *newval);
2996 bool xccdf_benchmark_add_platform(struct xccdf_benchmark *item, const char *newval);
2998 bool xccdf_benchmark_add_reference(struct xccdf_benchmark *item, struct oscap_reference *newval);
3000 bool xccdf_benchmark_add_status(struct xccdf_benchmark *item, struct xccdf_status *newval);
3002 bool xccdf_benchmark_add_dc_status(struct xccdf_benchmark *item, struct oscap_reference *newval);
3004 bool xccdf_benchmark_add_title(struct xccdf_benchmark *item, struct oscap_text *newval);
3006 bool xccdf_benchmark_add_front_matter(struct xccdf_benchmark *item, struct oscap_text *newval);
3008 //bool xccdf_benchmark_add_item(struct xccdf_benchmark *item, struct xccdf_item *newval);
3010 bool xccdf_benchmark_add_model(struct xccdf_benchmark *item, struct xccdf_model *newval);
3012 bool xccdf_benchmark_add_notice(struct xccdf_benchmark *item, struct xccdf_notice *newval);
3014 bool xccdf_benchmark_add_plain_text(struct xccdf_benchmark *item, struct xccdf_plain_text *newval);
3016 bool xccdf_benchmark_add_profile(struct xccdf_benchmark *item, struct xccdf_profile *newval);
3018 bool xccdf_benchmark_add_rear_matter(struct xccdf_benchmark *item, struct oscap_text *newval);
3020 bool xccdf_benchmark_add_rule(struct xccdf_benchmark *benchmark, struct xccdf_rule *rule);
3022 bool xccdf_benchmark_add_group(struct xccdf_benchmark *benchmark, struct xccdf_group *group);
3024 bool xccdf_benchmark_add_value(struct xccdf_benchmark *benchmark, struct xccdf_value *value);
3026 bool xccdf_benchmark_add_content(struct xccdf_benchmark *bench, struct xccdf_item *item);
3027 
3029 bool xccdf_profile_add_select(struct xccdf_profile *item, struct xccdf_select *newval);
3031 bool xccdf_profile_add_setvalue(struct xccdf_profile *item, struct xccdf_setvalue *newval);
3033 bool xccdf_profile_add_refine_value(struct xccdf_profile *item, struct xccdf_refine_value *newval);
3035 bool xccdf_profile_add_refine_rule(struct xccdf_profile *item, struct xccdf_refine_rule *newval);
3036 
3038 bool xccdf_profile_add_description(struct xccdf_profile *item, struct oscap_text *newval);
3040 bool xccdf_profile_add_platform(struct xccdf_profile *item, const char *newval);
3042 bool xccdf_profile_add_reference(struct xccdf_profile *item, struct oscap_reference *newval);
3044 bool xccdf_profile_add_status(struct xccdf_profile *item, struct xccdf_status *newval);
3046 bool xccdf_profile_add_dc_status(struct xccdf_profile *item, struct oscap_reference *newval);
3048 bool xccdf_profile_add_title(struct xccdf_profile *item, struct oscap_text *newval);
3049 
3051 bool xccdf_rule_add_description(struct xccdf_rule *item, struct oscap_text *newval);
3053 bool xccdf_rule_add_platform(struct xccdf_rule *item, const char *newval);
3055 bool xccdf_rule_add_question(struct xccdf_rule *item, struct oscap_text *newval);
3057 bool xccdf_rule_add_rationale(struct xccdf_rule *item, struct oscap_text *newval);
3059 bool xccdf_rule_add_reference(struct xccdf_rule *item, struct oscap_reference *newval);
3061 bool xccdf_rule_add_status(struct xccdf_rule *item, struct xccdf_status *newval);
3063 bool xccdf_rule_add_dc_status(struct xccdf_rule *item, struct oscap_reference *newval);
3065 bool xccdf_rule_add_title(struct xccdf_rule *item, struct oscap_text *newval);
3067 bool xccdf_rule_add_warning(struct xccdf_rule *item, struct xccdf_warning *newval);
3069 bool xccdf_rule_add_ident(struct xccdf_rule *item, struct xccdf_ident *newval);
3071 bool xccdf_rule_add_check(struct xccdf_rule *item, struct xccdf_check *newval);
3073 bool xccdf_rule_add_profile_note(struct xccdf_rule *item, struct xccdf_profile_note *newval);
3075 bool xccdf_rule_add_fix(struct xccdf_rule *item, struct xccdf_fix *newval);
3077 bool xccdf_rule_add_fixtext(struct xccdf_rule *item, struct xccdf_fixtext *newval);
3078 
3080 bool xccdf_group_add_description(struct xccdf_group *item, struct oscap_text *newval);
3082 bool xccdf_group_add_platform(struct xccdf_group *item, const char *newval);
3084 bool xccdf_group_add_question(struct xccdf_group *item, struct oscap_text *newval);
3086 bool xccdf_group_add_rationale(struct xccdf_group *item, struct oscap_text *newval);
3088 bool xccdf_group_add_reference(struct xccdf_group *item, struct oscap_reference *newval);
3090 bool xccdf_group_add_status(struct xccdf_group *item, struct xccdf_status *newval);
3092 bool xccdf_group_add_dc_status(struct xccdf_group *item, struct oscap_reference *newval);
3094 bool xccdf_group_add_title(struct xccdf_group *item, struct oscap_text *newval);
3096 bool xccdf_group_add_warning(struct xccdf_group *item, struct xccdf_warning *newval);
3098 bool xccdf_group_add_rule(struct xccdf_group *group, struct xccdf_rule *item);
3100 bool xccdf_group_add_group(struct xccdf_group *group, struct xccdf_group *item);
3102 bool xccdf_group_add_value(struct xccdf_group *group, struct xccdf_value *item);
3104 bool xccdf_group_add_content(struct xccdf_group *rule, struct xccdf_item *item);
3105 
3107 bool xccdf_value_add_description(struct xccdf_value *item, struct oscap_text *newval);
3109 bool xccdf_value_add_question(struct xccdf_value *item, struct oscap_text *newval);
3111 bool xccdf_value_add_reference(struct xccdf_value *item, struct oscap_reference *newval);
3113 bool xccdf_value_add_status(struct xccdf_value *item, struct xccdf_status *newval);
3115 bool xccdf_value_add_dc_status(struct xccdf_value *item, struct oscap_reference *newval);
3117 bool xccdf_value_add_title(struct xccdf_value *item, struct oscap_text *newval);
3119 bool xccdf_value_add_warning(struct xccdf_value *item, struct xccdf_warning *newval);
3120 
3122 bool xccdf_check_add_import(struct xccdf_check *obj, struct xccdf_check_import *item);
3124 bool xccdf_check_add_export(struct xccdf_check *obj, struct xccdf_check_export *item);
3126 bool xccdf_check_add_content_ref(struct xccdf_check *obj, struct xccdf_check_content_ref *item);
3128 bool xccdf_check_add_child(struct xccdf_check *obj, struct xccdf_check *item);
3130 bool xccdf_select_add_remark(struct xccdf_select *obj, struct oscap_text *item);
3132 bool xccdf_refine_value_add_remark(struct xccdf_refine_value *obj, struct oscap_text *item);
3134 bool xccdf_result_add_rule_result(struct xccdf_result *item, struct xccdf_rule_result *newval);
3136 bool xccdf_result_add_setvalue(struct xccdf_result *item, struct xccdf_setvalue *newval);
3138 bool xccdf_result_add_target_fact(struct xccdf_result *item, struct xccdf_target_fact *newval);
3142 bool xccdf_result_add_remark(struct xccdf_result *item, struct oscap_text *newval);
3144 bool xccdf_result_add_organization(struct xccdf_result *item, const char *newval);
3146 bool xccdf_result_add_target(struct xccdf_result *item, const char *newval);
3148 bool xccdf_result_add_identity(struct xccdf_result *item, struct xccdf_identity *newval);
3150 bool xccdf_result_add_score(struct xccdf_result *item, struct xccdf_score *newval);
3152 bool xccdf_result_add_title(struct xccdf_result *item, struct oscap_text *newval);
3154 bool xccdf_result_add_target_address(struct xccdf_result *item, const char *newval);
3156 bool xccdf_rule_result_add_ident(struct xccdf_rule_result *obj, struct xccdf_ident *item);
3158 bool xccdf_rule_result_add_fix(struct xccdf_rule_result *obj, struct xccdf_fix *item);
3160 bool xccdf_rule_result_add_check(struct xccdf_rule_result *obj, struct xccdf_check *item);
3162 bool xccdf_rule_result_add_override(struct xccdf_rule_result *obj, struct xccdf_override *item);
3164 bool xccdf_rule_result_add_message(struct xccdf_rule_result *obj, struct xccdf_message *item);
3166 bool xccdf_rule_result_add_instance(struct xccdf_rule_result *obj, struct xccdf_instance *item);
3168 bool xccdf_item_add_description(struct xccdf_item *item, struct oscap_text *newval);
3170 bool xccdf_item_add_platform(struct xccdf_item *item, const char *newval);
3172 bool xccdf_item_add_question(struct xccdf_item *item, struct oscap_text *newval);
3174 bool xccdf_item_add_rationale(struct xccdf_item *item, struct oscap_text *newval);
3176 bool xccdf_item_add_reference(struct xccdf_item *item, struct oscap_reference *newval);
3178 bool xccdf_item_add_dc_status(struct xccdf_item *item, struct oscap_reference *newval);
3180 bool xccdf_item_add_status(struct xccdf_item *item, struct xccdf_status *newval);
3182 bool xccdf_item_add_title(struct xccdf_item *item, struct oscap_text *newval);
3184 bool xccdf_item_add_warning(struct xccdf_item *item, struct xccdf_warning *newval);
3186 bool xccdf_refine_rule_add_remark(struct xccdf_refine_rule *obj, struct oscap_text *item);
3187 
3189 bool xccdf_rule_add_requires(struct xccdf_rule *rule, struct oscap_stringlist *requires);
3191 bool xccdf_group_add_requires(struct xccdf_group *group, struct oscap_stringlist *requires);
3193 bool xccdf_item_add_requires(struct xccdf_item *item, struct oscap_stringlist *requires);
3195 bool xccdf_rule_add_conflicts(struct xccdf_rule *rule, const char *conflicts);
3197 bool xccdf_group_add_conflicts(struct xccdf_group *group, const char *conflicts);
3199 bool xccdf_item_add_conflicts(struct xccdf_item *item, const char *conflicts);
3200 
3201 /************************************************************
3202  ** @} End of Setters group */
3203 
3204 // remove operations
3205 
3266 
3267 
3268 // reset iterators
3291 
3292 
3293 // textual substitution interface
3294 
3296 typedef enum xccdf_subst_type {
3297  XCCDF_SUBST_NONE,
3302 
3311 typedef char*(*xccdf_substitution_func)(xccdf_subst_type_t type, const char *id, void *arg);
3312 
3313 
3322 char* oscap_text_xccdf_substitute(const char *text, xccdf_substitution_func cb, void *arg);
3323 
3324 /************************************************************
3325  ** @} End of XCCDF group */
3326 
3327 #endif