/usr/include/openscap/check_engine_plugin.h is in libopenscap-dev 1.2.15-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | /**
 * @addtogroup XCCDF_POLICY
 * @{
 * @addtogroup Check Engine Plugin
 * @{
 *
 * @file check_engine_plugin.h
 * @author Martin Preisler <mpreisle@redhat.com>
 */
/*
 * Copyright 2013 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */
#ifndef OPENSCAP_CHECK_ENGINE_PLUGIN_H_
#define OPENSCAP_CHECK_ENGINE_PLUGIN_H_
#include "xccdf_policy.h"
struct check_engine_plugin_def
{
	int _reserved; // FIXME: version checking?
	void *module_handle;
	void *user_data;
	// NB: path hint is the input file path, can be used for relative path resolution
	// first arg: policy model to register with, second arg: path hint, third arg: user data
	int (*register_fn)(struct xccdf_policy_model *, const char*, void**);
	// first arg: policy model, second arg: user data
	int (*cleanup_fn)(struct xccdf_policy_model *, void**);
	// first arg: policy model, second arg: validate, third arg: path hint, fourth arg: user data
	int (*export_results_fn)(struct xccdf_policy_model *, bool, const char*, void**);
	// first arg: user data
	const char *(*get_capabilities_fn)(void**);
};
struct check_engine_plugin_def *check_engine_plugin_load2(const char* path, bool quiet);
struct check_engine_plugin_def *check_engine_plugin_load(const char* path);
void check_engine_plugin_unload(struct check_engine_plugin_def *plugin);
int check_engine_plugin_register(struct check_engine_plugin_def *plugin, struct xccdf_policy_model *model, const char *path_hint);
int check_engine_plugin_cleanup(struct check_engine_plugin_def *plugin, struct xccdf_policy_model *model);
int check_engine_plugin_export_results(struct check_engine_plugin_def *plugin, struct xccdf_policy_model *model, bool validate, const char *path_hint);
const char *check_engine_plugin_get_capabilities(struct check_engine_plugin_def *plugin);
/**
 * This is the entry point of shared objects implementing extra check engines
 */
typedef int (*check_engine_plugin_entry_fn) (struct check_engine_plugin_def*);
#define OPENSCAP_CHECK_ENGINE_PLUGIN_ENTRY OPENSCAP_CHECK_ENGINE_PLUGIN_ENTRY
/**
 * @brief Retrieves list of plugin names that are known to OpenSCAP
 *
 * Loading of these will be attempted automatically
 */
const char * const *check_engine_plugin_get_known_plugins(void);
/// @}
/// @}
#endif
 |