DS


Files

file  scap_ds.h
 Open-scap Data Stream interface.

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...

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
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
int ds_sds_compose_from_xccdf (const char *xccdf_file, const char *target_datastream)
 takes given xccdf file and constructs a source datastream
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
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
struct ds_stream_indexds_stream_index_new (void)
 ds_stream_index
void ds_stream_index_free (struct ds_stream_index *s)
 ds_stream_index
const char * 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_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_get_version (struct ds_stream_index *s)
 scap-version of the the <data-stream> element the index represents.
struct oscap_string_iteratords_stream_index_get_checks (struct ds_stream_index *s)
 Retrieves iterator over all components inside the <checks> element.
struct oscap_string_iteratords_stream_index_get_checklists (struct ds_stream_index *s)
 Retrieves iterator over all components inside the <checklists> element.
struct oscap_string_iteratords_stream_index_get_dictionaries (struct ds_stream_index *s)
 Retrieves iterator over all components inside the <dictionaries> element.
struct oscap_string_iteratords_stream_index_get_extended_components (struct ds_stream_index *s)
 Retrieves iterator over all components inside the <extended-components> element.
struct ds_sds_indexds_sds_index_new (void)
 ds_sds_index
void ds_sds_index_free (struct ds_sds_index *s)
 ds_sds_index
struct ds_stream_indexds_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_iteratords_sds_index_get_streams (struct ds_sds_index *s)
 retrieves all streams indexed inside this structure
struct ds_sds_indexds_sds_index_import (const char *file)
 imports given source datastream and indexes it
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
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
struct ds_stream_indexds_stream_index_iterator_next (struct ds_stream_index_iterator *it)
 ds_stream_index_iterator
bool ds_stream_index_iterator_has_more (struct ds_stream_index_iterator *it)
 ds_stream_index_iterator
void ds_stream_index_iterator_free (struct ds_stream_index_iterator *it)
 ds_stream_index_iterator
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_iteratorrds_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 rds_report_request_index * rds_report_request_index_iterator_next (struct rds_report_request_index_iterator *it)
 rds_report_request_index_iterator
bool rds_report_request_index_iterator_has_more (struct rds_report_request_index_iterator *it)
 rds_report_request_index_iterator
void rds_report_request_index_iterator_free (struct rds_report_request_index_iterator *it)
 rds_report_request_index_iterator
struct rds_asset_index * rds_asset_index_iterator_next (struct rds_asset_index_iterator *it)
 rds_asset_index_iterator
bool rds_asset_index_iterator_has_more (struct rds_asset_index_iterator *it)
 rds_asset_index_iterator
void rds_asset_index_iterator_free (struct rds_asset_index_iterator *it)
 rds_asset_index_iterator
struct rds_report_index * rds_report_index_iterator_next (struct rds_report_index_iterator *it)
 rds_report_index_iterator
bool rds_report_index_iterator_has_more (struct rds_report_index_iterator *it)
 rds_report_index_iterator
void rds_report_index_iterator_free (struct rds_report_index_iterator *it)
 rds_report_index_iterator
struct rds_indexrds_index_new (void)
 rds_index
void rds_index_free (struct rds_index *s)
 rds_index
struct
rds_report_request_index_iterator
rds_index_get_report_requests (struct rds_index *s)
 rds_index
struct rds_asset_index_iteratorrds_index_get_assets (struct rds_index *s)
 rds_index
struct rds_report_index_iteratorrds_index_get_reports (struct rds_index *s)
 rds_index
struct rds_report_request_index * rds_index_get_report_request (struct rds_index *rds, const char *id)
 rds_index
struct rds_asset_index * rds_index_get_asset (struct rds_index *rds, const char *id)
 rds_index
struct rds_report_index * rds_index_get_report (struct rds_index *rds, const char *id)
 rds_index
struct rds_indexrds_index_import (const char *file)
 rds_index
int rds_index_select_report (struct rds_index *s, const char **report_id)
 rds_index

Function Documentation

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

Parameters:
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
Returns:
0 if no errors were encountered -1 in case of errors

int ds_rds_decompose ( const char *  input_file,
const char *  report_id,
const char *  request_id,
const char *  target_dir 
)

Deprecated:
This function has been deprecated. Make a use of ds_rds_session instread. This function may be dropped from later versions of the library.

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

Parameters:
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).
Returns:
0 in case of success

int ds_sds_compose_from_xccdf ( const char *  xccdf_file,
const char *  target_datastream 
)

takes given xccdf file and constructs a source datastream

Parameters:
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.
Returns:
0 if no errors were encountered -1 in case of errors

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.

Parameters:
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.
Returns:
0 if no errors were encountered -1 in case of errors
Deprecated:
This function has been deprecated. Make a use of ds_sds_session instread. This function may be dropped from later versions of the library.

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

Parameters:
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.
See also:
ds_sds_decompose
Deprecated:
This function has been deprecated. Make a use of ds_sds_session instread. This function may be dropped from later versions of the library.

struct ds_stream_index* ds_sds_index_get_stream ( struct ds_sds_index s,
const char *  stream_id 
) [read]

retrieves a stream index by data-stream ID

ds_sds_index

struct ds_stream_index_iterator* ds_sds_index_get_streams ( struct ds_sds_index s  )  [read]

retrieves all streams indexed inside this structure

ds_sds_index

struct ds_sds_index* ds_sds_index_import ( const char *  file  )  [read]

imports given source datastream and indexes it

ds_sds_index

Deprecated:
This function has been deprecated. Make a use of ds_sds_session instread. This function may be dropped from later versions of the library.

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

Parameters:
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

Parameters:
benchmark_id Which XCCDF Benchmark ID are we looking for? Parameters are similar to ds_sds_index_select_checklist, except for benchmark_id.
See also:
ds_sds_index_select_checklist
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.

struct oscap_string_iterator* ds_stream_index_get_checklists ( struct ds_stream_index s  )  [read]

Retrieves iterator over all components inside the <checklists> element.

ds_stream_index

struct oscap_string_iterator* ds_stream_index_get_checks ( struct ds_stream_index s  )  [read]

Retrieves iterator over all components inside the <checks> element.

ds_stream_index

struct oscap_string_iterator* ds_stream_index_get_dictionaries ( struct ds_stream_index s  )  [read]

Retrieves iterator over all components inside the <dictionaries> element.

ds_stream_index

struct oscap_string_iterator* ds_stream_index_get_extended_components ( struct ds_stream_index s  )  [read]

Retrieves iterator over all components inside the <extended-components> element.

ds_stream_index

const char* ds_stream_index_get_id ( struct ds_stream_index s  ) 

Gets ID of the <data-stream> element the index represents.

ds_stream_index

const char* ds_stream_index_get_timestamp ( struct ds_stream_index s  ) 

Timestamp of creation OR modification of the <data-stream> element the index represents.

ds_stream_index

const char* ds_stream_index_get_version ( struct ds_stream_index s  ) 

scap-version of the the <data-stream> element the index represents.

ds_stream_index

struct rds_index* rds_index_import ( const char *  file  )  [read]

rds_index

Deprecated:
This function has been deprecated. Make a use of ds_rds_session instread. This function may be dropped from later versions of the library.


Generated on Tue Nov 14 12:19:01 2017 for Open SCAP Library by  doxygen 1.5.6