Loading...
Searching...
No Matches
xccdf_policy_engine_priv.h
/*
* Copyright 2014 Red Hat Inc., Durham, North Carolina.
* All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors:
* Simon Lukasik <slukasik@redhat.com>
*
*/
#pragma once
#ifndef _OSCAP_XCCDF_POLICY_ENGINE_PRIV_H
#define _OSCAP_XCCDF_POLICY_ENGINE_PRIV_H
#include "common/util.h"
#include "common/list.h"
#include "public/xccdf_policy.h"
struct xccdf_policy_engine;
struct xccdf_policy_engine *xccdf_policy_engine_new(char *sys, xccdf_policy_engine_eval_fn eval_fn, void *usr, xccdf_policy_engine_query_fn query_fn);
bool xccdf_policy_engine_filter(struct xccdf_policy_engine *cb, const char *sysname);
xccdf_test_result_type_t xccdf_policy_engine_eval(struct xccdf_policy_engine *engine, struct xccdf_policy *policy, const char *definition_id, const char *href_id, struct oscap_list *value_bindings, struct xccdf_check_import_iterator *check_import_it);
struct oscap_list *xccdf_policy_engine_query(struct xccdf_policy_engine *engine, xccdf_policy_engine_query_t query_type, void *query_data);
#endif
xccdf_policy_engine_eval_fn
xccdf_test_result_type_t(* xccdf_policy_engine_eval_fn)(struct xccdf_policy *policy, const char *rule_id, const char *definition_id, const char *href_if, struct xccdf_value_binding_iterator *value_binding_it, struct xccdf_check_import_iterator *check_imports_it, void *user_data)
Type of function which implements OpenSCAP checking engine.
Definition xccdf_policy.h:103
xccdf_policy_engine_query_fn
void *(* xccdf_policy_engine_query_fn)(void *, xccdf_policy_engine_query_t, void *)
Type of function which implements queries defined within xccdf_policy_engine_query_t.
Definition xccdf_policy.h:93
xccdf_policy_engine_query_t
xccdf_policy_engine_query_t
Type of a query over checking-engine data.
Definition xccdf_policy.h:72
xccdf_test_result_type_t
xccdf_test_result_type_t
Test result.
Definition xccdf_benchmark.h:170
oscap_list
Definition list.h:53
xccdf_check_import_iterator
Check import iterator.
xccdf_policy_engine
Definition xccdf_policy_engine.c:33
xccdf_policy_engine::usr
void * usr
User data structure.
Definition xccdf_policy_engine.c:36
xccdf_policy_engine::xccdf_policy_engine_eval
xccdf_test_result_type_t xccdf_policy_engine_eval(struct xccdf_policy_engine *engine, struct xccdf_policy *policy, const char *definition_id, const char *href_id, struct oscap_list *value_bindings, struct xccdf_check_import_iterator *check_import_it)
Execute the eval function of the given checking engine.
Definition xccdf_policy_engine.c:57
xccdf_policy_engine::query_fn
xccdf_policy_engine_query_fn query_fn
query callback function
Definition xccdf_policy_engine.c:37
xccdf_policy
XCCDF policy structure is abstract (class) structure of Profile element from benchmark.
Definition xccdf_policy_priv.h:58
xccdf_policy.h
Open-scap XCCDF Policy library interface.