Open SCAP Library
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
XCCDF_POLICY
public
check_engine_plugin.h
Go to the documentation of this file.
1
11
/*
12
* Copyright 2013 Red Hat Inc., Durham, North Carolina.
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
*/
30
31
#ifndef OPENSCAP_CHECK_ENGINE_PLUGIN_H_
32
#define OPENSCAP_CHECK_ENGINE_PLUGIN_H_
33
34
#include "
xccdf_policy.h
"
35
36
struct
check_engine_plugin_def
37
{
38
int
_reserved;
// FIXME: version checking?
39
40
void
*module_handle;
41
void
*user_data;
42
43
// NB: path hint is the input file path, can be used for relative path resolution
44
45
// first arg: policy model to register with, second arg: path hint, third arg: user data
46
int (*register_fn)(
struct
xccdf_policy_model
*,
const
char
*,
void
**);
47
// first arg: policy model, second arg: user data
48
int (*cleanup_fn)(
struct
xccdf_policy_model
*,
void
**);
49
// first arg: policy model, second arg: validate, third arg: path hint, fourth arg: user data
50
int (*export_results_fn)(
struct
xccdf_policy_model
*, bool,
const
char
*,
void
**);
51
// first arg: user data
52
const
char
*(*get_capabilities_fn)(
void
**);
53
};
54
55
struct
check_engine_plugin_def
*check_engine_plugin_load(
const
char
* path);
56
void
check_engine_plugin_unload(
struct
check_engine_plugin_def
*plugin);
57
58
int
check_engine_plugin_register(
struct
check_engine_plugin_def
*plugin,
struct
xccdf_policy_model
*model,
const
char
*path_hint);
59
int
check_engine_plugin_cleanup(
struct
check_engine_plugin_def
*plugin,
struct
xccdf_policy_model
*model);
60
int
check_engine_plugin_export_results(
struct
check_engine_plugin_def
*plugin,
struct
xccdf_policy_model
*model,
bool
validate,
const
char
*path_hint);
61
const
char
*check_engine_plugin_get_capabilities(
struct
check_engine_plugin_def
*plugin);
62
66
typedef
int (*
check_engine_plugin_entry_fn
) (
struct
check_engine_plugin_def
*);
67
68
#define OPENSCAP_CHECK_ENGINE_PLUGIN_ENTRY OPENSCAP_CHECK_ENGINE_PLUGIN_ENTRY
69
75
const
char
*
const
*
check_engine_plugin_get_known_plugins
(
void
);
76
79
#endif
Generated by
1.8.3.1