Open SCAP Library
Loading...
Searching...
No Matches
xccdf_policy_engine_priv.h
1/*
2 * Copyright 2014 Red Hat Inc., Durham, North Carolina.
3 * All Rights Reserved.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 *
19 * Authors:
20 * Simon Lukasik <slukasik@redhat.com>
21 *
22 */
23
24#pragma once
25#ifndef _OSCAP_XCCDF_POLICY_ENGINE_PRIV_H
26#define _OSCAP_XCCDF_POLICY_ENGINE_PRIV_H
27
28#include "common/util.h"
29#include "common/list.h"
30#include "public/xccdf_policy.h"
31
32
39
48struct 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);
49
54bool xccdf_policy_engine_filter(struct xccdf_policy_engine *cb, const char *sysname);
55
67xccdf_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);
68
77struct oscap_list *xccdf_policy_engine_query(struct xccdf_policy_engine *engine, xccdf_policy_engine_query_t query_type, void *query_data);
78
79
80#endif
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
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
Type of a query over checking-engine data.
Definition xccdf_policy.h:72
xccdf_test_result_type_t
Test result.
Definition xccdf_benchmark.h:170
Definition list.h:53
Check import iterator.
Definition xccdf_policy_engine.c:33
void * usr
User data structure.
Definition xccdf_policy_engine.c:36
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 query_fn
query callback function
Definition xccdf_policy_engine.c:37
XCCDF policy structure is abstract (class) structure of Profile element from benchmark.
Definition xccdf_policy_priv.h:57
Open-scap XCCDF Policy library interface.