Open SCAP Library
oscap.h
Go to the documentation of this file.
1 /*
2  * Copyright 2009,2010,2011 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  * Lukas Kuklinek <lkuklinek@redhat.com>
21  * Peter Vrabec <pvrabec@redhat.com>
22  */
23 
33 #ifndef OSCAP_H_
34 #define OSCAP_H_
35 #include <stdbool.h>
36 
37 #include "oscap_text.h"
38 #include "oscap_reference.h"
39 #include "oscap_export.h"
40 
44 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
45 # define OSCAP_DEPRECATED(func) func __attribute__ ((deprecated))
46 #elif defined(_MSC_VER)
47 # define OSCAP_DEPRECATED(func) __declspec(deprecated) func
48 #else
49 # pragma message("WARNING: You need to implement OSCAP_DEPRECATED for this compiler---in order to get deprecation warnings.")
50 # define OSCAP_DEPRECATED(func) func
51 #endif
52 
62 OSCAP_API void oscap_init(void);
63 
71 OSCAP_API void oscap_cleanup(void);
72 
74 OSCAP_API const char *oscap_get_version(void);
75 
76 
83 typedef enum oscap_document_type {
101  // If you are adding a new enum here, make sure you add support for it
102  // to utils/oscap-info.c!
104 
113 OSCAP_API const char *oscap_document_type_to_string(oscap_document_type_t type);
114 
115 typedef int (*xml_reporter)(const char *file, int line, const char *msg, void *arg);
116 
129 OSCAP_API int oscap_apply_xslt(const char *xmlfile, const char *xsltfile, const char *outfile, const char **params);
130 
134 OSCAP_API const char * oscap_path_to_schemas(void);
135 
139 OSCAP_API const char * oscap_path_to_cpe(void);
140 
141 /************************************************************/
146 #endif
OSCAP_API const char * oscap_get_version(void)
Get version of the OpenSCAP library.
Definition: oscapxml.c:126
OVAL results file.
Definition: oscap.h:89
OVAL Variables.
Definition: oscap.h:87
Source Data Stream file.
Definition: oscap.h:96
CVE NVD feed.
Definition: oscap.h:94
OSCAP_API void oscap_init(void)
Initialize OpenSCAP library.
Definition: oscapxml.c:112
CPE dictionary file.
Definition: oscap.h:93
OVAL system characteristics file.
Definition: oscap.h:88
OVAL Definitions file.
Definition: oscap.h:86
CVRF feed.
Definition: oscap.h:100
enum oscap_document_type oscap_document_type_t
SCAP document type identifiers.
SCE result file.
Definition: oscap.h:95
OSCAP_API const char * oscap_path_to_cpe(void)
Function returns path used to locate OpenSCAP Default CPE files.
Definition: oscapxml.c:108
CPE language file.
Definition: oscap.h:92
Multilingual text processing interface.
The type is unknown.
Definition: oscap.h:85
OVAL directives file.
Definition: oscap.h:90
OSCAP_API int oscap_apply_xslt(const char *xmlfile, const char *xsltfile, const char *outfile, const char **params)
Apply a XSLT stylesheet to a XML file.
Definition: oscapxml.c:128
Result Data Stream file.
Definition: oscap.h:97
oscap_document_type
SCAP document type identifiers.
Definition: oscap.h:84
XCCDF tailoring file.
Definition: oscap.h:98
XCCDF benchmark file.
Definition: oscap.h:91
OSCAP_API const char * oscap_path_to_schemas(void)
Function returns path used to locate OpenSCAP XML schemas.
Definition: oscapxml.c:99
OSCAP_API const char * oscap_document_type_to_string(oscap_document_type_t type)
Convert oscap_document_type_t constant to human readable (english) representation.
Definition: oscapxml.c:136
OCIL Definitions file.
Definition: oscap.h:99
OSCAP_API void oscap_cleanup(void)
Release library internal caches.
Definition: oscapxml.c:119