Open SCAP Library
|
Data Structures | |
struct | ds_stream_index |
Contains information about one particular "<data-stream>" element in the datastream collection (also called SDS = source datastream). More... | |
struct | ds_sds_index |
Represents <data-stream-collection> element - the root element of each source datastream. More... | |
struct | ds_stream_index_iterator |
struct | rds_report_request_index |
struct | rds_asset_index |
struct | rds_report_index |
struct | rds_report_request_index_iterator |
struct | rds_asset_index_iterator |
struct | rds_report_index_iterator |
struct | rds_index |
Represents <asset-report-collection> element - the root element of each result datastream in Asset Reporting Format = ARF. More... | |
Files | |
file | scap_ds.h |
Open-scap Data Stream interface. | |
Functions | |
int | ds_sds_decompose (const char *input_file, const char *id, const char *xccdf_id, const char *target_dir, const char *target_filename) |
takes given source data stream and decomposes it into separate files More... | |
int | ds_sds_decompose_custom (const char *input_file, const char *id, const char *target_dir, const char *container_name, const char *component_id, const char *target_filename) |
same as ds_sds_decompose but works with other components than just XCCDFs More... | |
int | ds_sds_compose_from_xccdf (const char *xccdf_file, const char *target_datastream) |
takes given xccdf file and constructs a source datastream More... | |
int | ds_sds_compose_add_component (const char *target_datastream, const char *datastream_id, const char *new_component, bool extended) |
append a new given component to the existing source datastream More... | |
int | ds_rds_decompose (const char *input_file, const char *report_id, const char *request_id, const char *target_dir) |
int | ds_rds_create (const char *sds_file, const char *xccdf_result_file, const char **oval_result_files, const char *target_file) |
takes given source data stream and XCCDF result file and makes a result data stream More... | |
int | ds_sds_index_select_checklist (struct ds_sds_index *s, const char **datastream_id, const char **component_id) |
chooses datastream and checklist id combination given the IDs More... | |
int | ds_sds_index_select_checklist_by_benchmark_id (struct ds_sds_index *s, const char *benchmark_id, const char **datastream_id, const char **component_ref_id) |
chooses datastream and checklist component ref ID combination, given benchmark ID More... | |
struct rds_report_request_index * | rds_report_request_index_new (void) |
void | rds_report_request_index_free (struct rds_report_request_index *s) |
const char * | rds_report_request_index_get_id (struct rds_report_request_index *s) |
struct rds_asset_index * | rds_asset_index_new (void) |
void | rds_asset_index_free (struct rds_asset_index *s) |
const char * | rds_asset_index_get_id (struct rds_asset_index *s) |
void | rds_asset_index_add_report_ref (struct rds_asset_index *s, struct rds_report_index *report) |
struct rds_report_index_iterator * | rds_asset_index_get_reports (struct rds_asset_index *s) |
struct rds_report_index * | rds_report_index_new (void) |
void | rds_report_index_free (struct rds_report_index *s) |
const char * | rds_report_index_get_id (struct rds_report_index *s) |
void | rds_report_index_set_request (struct rds_report_index *s, struct rds_report_request_index *request) |
struct rds_report_request_index * | rds_report_index_get_request (struct rds_report_index *s) |
struct ds_stream_index * | ds_stream_index::ds_stream_index_new (void) |
void | ds_stream_index::ds_stream_index_free (struct ds_stream_index *s) |
const char * | ds_stream_index::ds_stream_index_get_id (struct ds_stream_index *s) |
Gets ID of the <data-stream> element the index represents. | |
const char * | ds_stream_index::ds_stream_index_get_timestamp (struct ds_stream_index *s) |
Timestamp of creation OR modification of the <data-stream> element the index represents. | |
const char * | ds_stream_index::ds_stream_index_get_version (struct ds_stream_index *s) |
scap-version of the the <data-stream> element the index represents. | |
struct oscap_string_iterator * | ds_stream_index::ds_stream_index_get_checks (struct ds_stream_index *s) |
Retrieves iterator over all components inside the <checks> element. | |
struct oscap_string_iterator * | ds_stream_index::ds_stream_index_get_checklists (struct ds_stream_index *s) |
Retrieves iterator over all components inside the <checklists> element. | |
struct oscap_string_iterator * | ds_stream_index::ds_stream_index_get_dictionaries (struct ds_stream_index *s) |
Retrieves iterator over all components inside the <dictionaries> element. | |
struct oscap_string_iterator * | ds_stream_index::ds_stream_index_get_extended_components (struct ds_stream_index *s) |
Retrieves iterator over all components inside the <extended-components> element. | |
struct ds_sds_index * | ds_sds_index::ds_sds_index_new (void) |
void | ds_sds_index::ds_sds_index_free (struct ds_sds_index *s) |
struct ds_stream_index * | ds_sds_index::ds_sds_index_get_stream (struct ds_sds_index *s, const char *stream_id) |
retrieves a stream index by data-stream ID | |
struct ds_stream_index_iterator * | ds_sds_index::ds_sds_index_get_streams (struct ds_sds_index *s) |
retrieves all streams indexed inside this structure | |
struct ds_sds_index * | ds_sds_index::ds_sds_index_import (const char *file) |
imports given source datastream and indexes it More... | |
struct ds_stream_index * | ds_stream_index_iterator::ds_stream_index_iterator_next (struct ds_stream_index_iterator *it) |
bool | ds_stream_index_iterator::ds_stream_index_iterator_has_more (struct ds_stream_index_iterator *it) |
void | ds_stream_index_iterator::ds_stream_index_iterator_free (struct ds_stream_index_iterator *it) |
struct rds_report_request_index * | rds_report_request_index_iterator::rds_report_request_index_iterator_next (struct rds_report_request_index_iterator *it) |
bool | rds_report_request_index_iterator::rds_report_request_index_iterator_has_more (struct rds_report_request_index_iterator *it) |
void | rds_report_request_index_iterator::rds_report_request_index_iterator_free (struct rds_report_request_index_iterator *it) |
struct rds_asset_index * | rds_asset_index_iterator::rds_asset_index_iterator_next (struct rds_asset_index_iterator *it) |
bool | rds_asset_index_iterator::rds_asset_index_iterator_has_more (struct rds_asset_index_iterator *it) |
void | rds_asset_index_iterator::rds_asset_index_iterator_free (struct rds_asset_index_iterator *it) |
struct rds_report_index * | rds_report_index_iterator::rds_report_index_iterator_next (struct rds_report_index_iterator *it) |
bool | rds_report_index_iterator::rds_report_index_iterator_has_more (struct rds_report_index_iterator *it) |
void | rds_report_index_iterator::rds_report_index_iterator_free (struct rds_report_index_iterator *it) |
struct rds_index * | rds_index::rds_index_new (void) |
void | rds_index::rds_index_free (struct rds_index *s) |
struct rds_report_request_index_iterator * | rds_index::rds_index_get_report_requests (struct rds_index *s) |
struct rds_asset_index_iterator * | rds_index::rds_index_get_assets (struct rds_index *s) |
struct rds_report_index_iterator * | rds_index::rds_index_get_reports (struct rds_index *s) |
struct rds_report_request_index * | rds_index::rds_index_get_report_request (struct rds_index *rds, const char *id) |
struct rds_asset_index * | rds_index::rds_index_get_asset (struct rds_index *rds, const char *id) |
struct rds_report_index * | rds_index::rds_index_get_report (struct rds_index *rds, const char *id) |
struct rds_index * | rds_index::rds_index_import (const char *file) |
int | rds_index::rds_index_select_report (struct rds_index *s, const char **report_id) |
int ds_rds_create | ( | const char * | sds_file, |
const char * | xccdf_result_file, | ||
const char ** | oval_result_files, | ||
const char * | target_file | ||
) |
takes given source data stream and XCCDF result file and makes a result data stream
sds_file | Path to the source data stream file that was used to generate the result XCCDF |
xccdf_result_file | Contains xccdf:TestResult(s) and the embedded Benchmark (optionally). The embedded Benchmark (source data) will not be included in the result data stream, we will instead bundle the source data stream. |
oval_result_files | NULL terminated list of paths to OVAL result files that should be bundled in the result data stream. |
target_file | Path to the file where the result data stream will be stored |
int ds_rds_decompose | ( | const char * | input_file, |
const char * | report_id, | ||
const char * | request_id, | ||
const char * | target_dir | ||
) |
int ds_sds_compose_add_component | ( | const char * | target_datastream, |
const char * | datastream_id, | ||
const char * | new_component, | ||
bool | extended | ||
) |
append a new given component to the existing source datastream
target_datastream | Path of the existing source datastream into which the new component shall be added. |
datastream_id | ID of the datastream into which the component shall be added. Null value indicates the very first datastream in the collection. |
new_component | Path to the new component file (XCCDF, OVAL, or CPE Dictionary). |
int ds_sds_compose_from_xccdf | ( | const char * | xccdf_file, |
const char * | target_datastream | ||
) |
takes given xccdf file and constructs a source datastream
xccdf_file | Path to the XCCDF file that should be included in the datastream (including its dependencies). |
target_datastream | ID of the datastream that should contain the XCCDF file. It will be the only datastream in the resulting data-stream-collection. |
int ds_sds_decompose | ( | const char * | input_file, |
const char * | id, | ||
const char * | xccdf_id, | ||
const char * | target_dir, | ||
const char * | target_filename | ||
) |
takes given source data stream and decomposes it into separate files
This function bases the output on an XCCDF embedded in the "checklists" element in the datastream. Most of the times this is what everybody wants.
If you want to decompose just an OVAL file or some other custom behavior, see ds_sds_decompose_custom.
input_file | File containing a datastream collection we want to decompose parts from |
id | ID of a datastream we want to use from the given datastream collection. The first encountered datastream is used if id is NULL. |
xccdf_id | ID of the component containing the XCCDF we want to process. The first encountered XCCDF component is used if id is NULL. |
target_dir | Directory where the resulting files will be stored, names of the files are deduced using component-refs inside the datastream. |
target_filename | Base name of the target XCCDF file, if NULL is given the filename will be deduced from the contents of the datastream. |
int ds_sds_decompose_custom | ( | const char * | input_file, |
const char * | id, | ||
const char * | target_dir, | ||
const char * | container_name, | ||
const char * | component_id, | ||
const char * | target_filename | ||
) |
same as ds_sds_decompose but works with other components than just XCCDFs
container | component reference container such as "checklists", "checks", ... |
component_id | id of the component you want to start the export from. If NULL, all components refs inside given container will be exported. |
target_filename | Base name of the target file, if NULL is given the filename will be deduced from the contents of the datastream. |
void ds_sds_index_free | ( | struct ds_sds_index * | s | ) |
struct ds_sds_index * ds_sds_index_import | ( | const char * | file | ) |
imports given source datastream and indexes it
struct ds_sds_index * ds_sds_index_new | ( | void | ) |
int ds_sds_index_select_checklist | ( | struct ds_sds_index * | s, |
const char ** | datastream_id, | ||
const char ** | component_id | ||
) |
chooses datastream and checklist id combination given the IDs
datastream_id | has to point to an allocated char*, selected datastream ID will be filled into it |
component_id | has to point to an allocated char*, selected xccdf ID will be filled into it |
datastream_id and component_id must not point to the same memory! However, the pointers pointed to may be NULL (which means any ID will do).
component_id is actually a component-ref ID, the reason is that we need the component-ref to know which other components are in the catalog and thus needed when splitting.
int ds_sds_index_select_checklist_by_benchmark_id | ( | struct ds_sds_index * | s, |
const char * | benchmark_id, | ||
const char ** | datastream_id, | ||
const char ** | component_ref_id | ||
) |
chooses datastream and checklist component ref ID combination, given benchmark ID
benchmark_id | Which XCCDF Benchmark ID are we looking for? Parameters are similar to ds_sds_index_select_checklist, except for benchmark_id. |
This function looks through to datastream index to find the first component-ref (top-down) which satisfies the following condition: "it does point to a component which contains XCCDF Benchmark with id exactly the same as given benchmark_id".
Please note that datastream_id AND component_ref_id are pointers to pointers and they will be overwritten if 0 is returned. The values are never used, unlike with ds_sds_index_select_checklist.
void ds_stream_index_free | ( | struct ds_stream_index * | s | ) |
void ds_stream_index_iterator_free | ( | struct ds_stream_index_iterator * | it | ) |
bool ds_stream_index_iterator_has_more | ( | struct ds_stream_index_iterator * | it | ) |
struct ds_stream_index * ds_stream_index_iterator_next | ( | struct ds_stream_index_iterator * | it | ) |
struct ds_stream_index * ds_stream_index_new | ( | void | ) |
void rds_asset_index_iterator_free | ( | struct rds_asset_index_iterator * | it | ) |
bool rds_asset_index_iterator_has_more | ( | struct rds_asset_index_iterator * | it | ) |
struct rds_asset_index * rds_asset_index_iterator_next | ( | struct rds_asset_index_iterator * | it | ) |
void rds_index_free | ( | struct rds_index * | s | ) |
struct rds_asset_index * rds_index_get_asset | ( | struct rds_index * | rds, |
const char * | id | ||
) |
struct rds_asset_index_iterator * rds_index_get_assets | ( | struct rds_index * | s | ) |
struct rds_report_index * rds_index_get_report | ( | struct rds_index * | rds, |
const char * | id | ||
) |
struct rds_report_request_index * rds_index_get_report_request | ( | struct rds_index * | rds, |
const char * | id | ||
) |
struct rds_report_request_index_iterator * rds_index_get_report_requests | ( | struct rds_index * | s | ) |
struct rds_report_index_iterator * rds_index_get_reports | ( | struct rds_index * | s | ) |
struct rds_index * rds_index_import | ( | const char * | file | ) |
struct rds_index * rds_index_new | ( | void | ) |
int rds_index_select_report | ( | struct rds_index * | s, |
const char ** | report_id | ||
) |
void rds_report_index_iterator_free | ( | struct rds_report_index_iterator * | it | ) |
bool rds_report_index_iterator_has_more | ( | struct rds_report_index_iterator * | it | ) |
struct rds_report_index * rds_report_index_iterator_next | ( | struct rds_report_index_iterator * | it | ) |
void rds_report_request_index_iterator_free | ( | struct rds_report_request_index_iterator * | it | ) |
bool rds_report_request_index_iterator_has_more | ( | struct rds_report_request_index_iterator * | it | ) |
struct rds_report_request_index * rds_report_request_index_iterator_next | ( | struct rds_report_request_index_iterator * | it | ) |