<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>Open SCAP Library: oscap.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Open SCAP Library </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_fdedb0aba14d44ce9d99bc100e026e6a.html">common</a></li><li class="navelem"><a class="el" href="dir_02a00d8ef1b62c9e57160fe24bb0fab2.html">public</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">oscap.h</div> </div> </div><!--header--> <div class="contents"> <a href="oscap_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Copyright 2009,2010,2011 Red Hat Inc., Durham, North Carolina.</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * All Rights Reserved.</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * Lesser General Public License for more details.</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * Authors:</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * Lukas Kuklinek <lkuklinek@redhat.com></span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * Peter Vrabec <pvrabec@redhat.com></span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> */</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifndef OSCAP_H_</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#define OSCAP_H_</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span><span class="preprocessor">#include <stdbool.h></span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <wchar.h></span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="oscap__text_8h.html" title="Multilingual text processing interface.">oscap_text.h</a>"</span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "oscap_reference.h"</span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)</span></div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor"></span><span class="preprocessor"># define OSCAP_DEPRECATED(func) func __attribute__ ((deprecated))</span></div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor"></span><span class="preprocessor">#elif defined(_MSC_VER)</span></div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor"># define OSCAP_DEPRECATED(func) __declspec(deprecated) func</span></div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("WARNING: You need to implement OSCAP_DEPRECATED for this compiler---in order to get deprecation warnings.")</span></div> <div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="group__COMMON.html#ga87ad87a49af7d966b9a966e0fa260bc1"> 50</a></span> <span class="preprocessor"></span><span class="preprocessor"># define OSCAP_DEPRECATED(func) func</span></div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">void</span> <a class="code" href="group__COMMON.html#ga732247519dc74a72214c7d8c7ea65a52" title="Initialize OpenSCAP library.">oscap_init</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">void</span> <a class="code" href="group__COMMON.html#gad47f11d32a4245a127c078d52269312c" title="Release library internal caches.">oscap_cleanup</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__COMMON.html#ga01435a7960889179bcedbfafaae5a097" title="Get version of the OpenSCAP library.">oscap_get_version</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> <div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="group__VALID.html#gae11fc65de255d812d72c1f563146200f"> 84</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__VALID.html#gae11fc65de255d812d72c1f563146200f" title="SCAP document type identifiers.">oscap_document_type</a> {</div> <div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fafc43196d876e7510c731e9329268b270"> 85</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fafc43196d876e7510c731e9329268b270" title="OVAL Definitions file.">OSCAP_DOCUMENT_OVAL_DEFINITIONS</a> = 1, </div> <div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa1beeca5febf1d503ef68b382a515ac0a"> 86</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa1beeca5febf1d503ef68b382a515ac0a" title="OVAL Variables.">OSCAP_DOCUMENT_OVAL_VARIABLES</a>, </div> <div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fae8e342ea95744c96444f967671f19fa6"> 87</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fae8e342ea95744c96444f967671f19fa6" title="OVAL system characteristics file.">OSCAP_DOCUMENT_OVAL_SYSCHAR</a>, </div> <div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200faf668682d31530ba654ad6a501ff2c558"> 88</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200faf668682d31530ba654ad6a501ff2c558" title="OVAL results file.">OSCAP_DOCUMENT_OVAL_RESULTS</a>, </div> <div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fac6e0c570f97813e5c7413786bf40d425"> 89</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fac6e0c570f97813e5c7413786bf40d425" title="OVAL directives file.">OSCAP_DOCUMENT_OVAL_DIRECTIVES</a>, </div> <div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa3f530686b986be0046ea4b043a3c0ade"> 90</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa3f530686b986be0046ea4b043a3c0ade" title="XCCDF benchmark file.">OSCAP_DOCUMENT_XCCDF</a>, </div> <div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200faae51c5951377f65c31e676fdd2e7acf0"> 91</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200faae51c5951377f65c31e676fdd2e7acf0" title="CPE language file.">OSCAP_DOCUMENT_CPE_LANGUAGE</a>, </div> <div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa2a2868aeedeafe930100ee5b7695d75f"> 92</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa2a2868aeedeafe930100ee5b7695d75f" title="CPE dictionary file.">OSCAP_DOCUMENT_CPE_DICTIONARY</a>, </div> <div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa828334bea80ec94d093251ec7d09c3c5"> 93</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa828334bea80ec94d093251ec7d09c3c5" title="CVE NVD feed.">OSCAP_DOCUMENT_CVE_FEED</a>, </div> <div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa968fb0d69c5c33c3e324b1326a1ca1ee"> 94</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa968fb0d69c5c33c3e324b1326a1ca1ee" title="SCE result file.">OSCAP_DOCUMENT_SCE_RESULT</a>, </div> <div class="line"><a name="l00095"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200faaa595eb3a40fcf7c67106a9f3a92129f"> 95</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200faaa595eb3a40fcf7c67106a9f3a92129f" title="Source Data Stream file.">OSCAP_DOCUMENT_SDS</a>, </div> <div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa65908703eeff0a220e1ba25b8e0def7a"> 96</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa65908703eeff0a220e1ba25b8e0def7a" title="Result Data Stream file.">OSCAP_DOCUMENT_ARF</a>, </div> <div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fad98f3b3fe0b102359c31dc20879b2b2a"> 97</a></span>  <a class="code" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fad98f3b3fe0b102359c31dc20879b2b2a" title="XCCDF tailoring file.">OSCAP_DOCUMENT_XCCDF_TAILORING</a> </div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> } <a class="code" href="group__VALID.html#gac979f1141240cd8d0a762a2be9341965" title="SCAP document type identifiers.">oscap_document_type_t</a>;</div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__VALID.html#ga5b8f0b33aecd9f772af5be2c31c1037a" title="Convert oscap_document_type_t constant to human readable (english) representation.">oscap_document_type_to_string</a>(<a class="code" href="group__VALID.html#gac979f1141240cd8d0a762a2be9341965" title="SCAP document type identifiers.">oscap_document_type_t</a> type);</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">typedef</span> int (*xml_reporter)(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, <span class="keywordtype">void</span> *arg);</div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">int</span> <a class="code" href="group__VALID.html#gadb305adbb211169cf32a82cb3da0fdc4" title="Validate a SCAP document file against a XML schema.">oscap_validate_document</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *xmlfile, <a class="code" href="group__VALID.html#gac979f1141240cd8d0a762a2be9341965" title="SCAP document type identifiers.">oscap_document_type_t</a> doctype, <span class="keyword">const</span> <span class="keywordtype">char</span> *version, xml_reporter reporter, <span class="keywordtype">void</span> *arg);</div> <div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> <div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> <a class="code" href="group__VALID.html#gaa3ecdf745fed7ae87bb96ec13b362788" title="Validate a SCAP document file against schematron rules.">oscap_schematron_validate_document</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *xmlfile, <a class="code" href="group__VALID.html#gac979f1141240cd8d0a762a2be9341965" title="SCAP document type identifiers.">oscap_document_type_t</a> doctype, <span class="keyword">const</span> <span class="keywordtype">char</span> *version, <span class="keyword">const</span> <span class="keywordtype">char</span> *outfile);</div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> <a class="code" href="group__VALID.html#gab78e5df0e1b42faab2e6eae6af29f72e" title="Apply a XSLT stylesheet to a XML file.">oscap_apply_xslt</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *xmlfile, <span class="keyword">const</span> <span class="keywordtype">char</span> *xsltfile, <span class="keyword">const</span> <span class="keywordtype">char</span> *outfile, <span class="keyword">const</span> <span class="keywordtype">char</span> **params);</div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div> <div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__VALID.html#gaf9afe0c57ada2e1e154869ef0de38c6f" title="Function returns path used to locate OpenSCAP XML schemas.">oscap_path_to_schemas</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div> <div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__VALID.html#ga25e09e72f9f3dc658f22dbfc5dcea6ea" title="Function returns path used to locate OpenSCAP Schematron files.">oscap_path_to_schematron</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__VALID.html#ga29b5ed02c5ca73f3bda847af54875da8" title="Function returns path used to locate OpenSCAP Default CPE files.">oscap_path_to_cpe</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> <div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">int</span> <a class="code" href="group__VALID.html#ga1a27165df5c0839233b787a13fa3037f" title="Determine document type.">oscap_determine_document_type</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *document, <a class="code" href="group__VALID.html#gac979f1141240cd8d0a762a2be9341965" title="SCAP document type identifiers.">oscap_document_type_t</a> *doc_type);</div> <div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div> <div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.1 </small></address> </body> </html>