Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 537b4767ca71616a4bccbb57df0c2eb6 > files > 363

openscap-devel-0.7.4-1.fc16.i686.rpm

<!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"/>
<title>Open SCAP Library: /home/pvrabec/project/openscap/openscap-0.7.4/src/OVAL/probes/independent/sql57.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<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>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;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&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">/home/pvrabec/project/openscap/openscap-0.7.4/src/OVAL/probes/independent/sql57.c File Reference</div>  </div>
</div>
<div class="contents">

<p>sql57 probe  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;seap.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="probe-api_8h_source.html">probe-api.h</a>&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;ctype.h&gt;</code><br/>
<code>#include &lt;common/assume.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="debug__priv_8h_source.html">common/debug_priv.h</a>&gt;</code><br/>
<code>#include &lt;common/bfind.h&gt;</code><br/>
<code>#include &lt;time.h&gt;</code><br/>
<code>#include &lt;errno.h&gt;</code><br/>
<code>#include &lt;opendbx/api.h&gt;</code><br/>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdbEngineMap__t.html">dbEngineMap_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdbURIInfo__t.html">dbURIInfo_t</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d09cf3c77b5f26965dedaa7d710db0a"></a><!-- doxytag: member="sql57.c::SQLPROBE_DEFAULT_CONNTIMEOUT" ref="a2d09cf3c77b5f26965dedaa7d710db0a" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SQLPROBE_DEFAULT_CONNTIMEOUT</b>&#160;&#160;&#160;30</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08183acc7b85a4adaa2e0cfa3f0577cf"></a><!-- doxytag: member="sql57.c::ENGINE_MAP_COUNT" ref="a08183acc7b85a4adaa2e0cfa3f0577cf" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ENGINE_MAP_COUNT</b>&#160;&#160;&#160;(sizeof engine_map / sizeof (<a class="el" href="structdbEngineMap__t.html">dbEngineMap_t</a>))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8333e52a05f7e0b70d2ebe9cfd8f9fe"></a><!-- doxytag: member="sql57.c::skipspace" ref="ad8333e52a05f7e0b70d2ebe9cfd8f9fe" args="(s)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>skipspace</b>(s)&#160;&#160;&#160;while (isspace(*s)) ++s;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>matchitem1</b>(tok, first, rest, dst)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>matchitem2</b>(tok, first, rest1, dst1, rest2, dst2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>get_string</b>(dst, obj, ent_name)</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafe95c72e81a54869107bb0b9f9b43427"></a><!-- doxytag: member="sql57.c::probe_init" ref="gafe95c72e81a54869107bb0b9f9b43427" args="(void)" -->
void *&#160;</td><td class="memItemRight" valign="bottom"><b>probe_init</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga60a6e8dd5d034bc5b0fb714016973a2a"></a><!-- doxytag: member="sql57.c::probe_fini" ref="ga60a6e8dd5d034bc5b0fb714016973a2a" args="(void *arg)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>probe_fini</b> (void *arg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga468744ebb8db4a5bd31a511d709d5d5e"></a><!-- doxytag: member="sql57.c::probe_main" ref="ga468744ebb8db4a5bd31a511d709d5d5e" args="(probe_ctx *ctx, void *arg)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>probe_main</b> (<a class="el" href="structprobe__ctx.html">probe_ctx</a> *ctx, void *arg)</td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdbEngineMap__t.html">dbEngineMap_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>engine_map</b> []</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>sql57 probe </p>
<dl class="author"><dt><b>Author:</b></dt><dd>"Daniel Kopecek" &lt;<a href="mailto:dkopecek@redhat.com">dkopecek@redhat.com</a>&gt; </dd></dl>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="afa3718073b5f39297b3c78c9e4dfffb6"></a><!-- doxytag: member="sql57.c::get_string" ref="afa3718073b5f39297b3c78c9e4dfffb6" args="(dst, obj, ent_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define get_string</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">obj, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ent_name&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                                                            \
                <a class="code" href="structSEXP.html">SEXP_t</a> *__sval;                                         \
                                                                        \
                __sval = <a class="code" href="group__PROBEAPI.html#ga5d150dec132971e7c564ce61fab05f3b" title="Get the value of an object&#39;s entity.">probe_obj_getentval</a> (obj, ent_name, 1);        \
                                                                        \
                <span class="keywordflow">if</span> (__sval == NULL) {                                   \
                        dE(<span class="stringliteral">&quot;Missing entity or value: obj=%p, ent=%s\n&quot;</span>, obj, #ent_name); \
                        err = <a class="code" href="group__PROBEAPI.html#ga06b962b819862cec7b8d5db3435d2ca7" title="Missing entity.">PROBE_ENOENT</a>;                             \
                        <span class="keywordflow">goto</span> __exit;                                    \
                }                                                       \
                                                                        \
                (dst) = <a class="code" href="group__SEXPRESSIONS.html#ga1ab30f1f6e475e61e4be43ce96753e19" title="Get a C string from a sexp object.">SEXP_string_cstr</a> (__sval);                      \
                                                                        \
                <span class="keywordflow">if</span> ((dst) == NULL) {                                    \
                        <a class="code" href="group__SEXPRESSIONS.html#gaff9225cc4ff2d1a3459511efe7ebd5e1" title="Free a sexp object.">SEXP_free</a>(__sval);                              \
                        err = <a class="code" href="group__PROBEAPI.html#gad69bb1533565f81eb97329ad8999a274" title="Invalid type/value/format.">PROBE_EINVAL</a>;                             \
                        <span class="keywordflow">goto</span> __exit;                                    \
                }                                                       \
                                                                        \
                <a class="code" href="group__SEXPRESSIONS.html#gaff9225cc4ff2d1a3459511efe7ebd5e1" title="Free a sexp object.">SEXP_free</a>(__sval);                                      \
        } <span class="keywordflow">while</span> (0)
</pre></div>
</div>
</div>
<a class="anchor" id="aa04d17e93aacf110326f3d4c74cd1111"></a><!-- doxytag: member="sql57.c::matchitem1" ref="aa04d17e93aacf110326f3d4c74cd1111" args="(tok, first, rest, dst)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define matchitem1</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tok, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">first, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">rest, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">case</span> first:                                             \
                <span class="keywordflow">if</span> (strncasecmp((rest), ++(tok), strlen(rest)) == 0) {  \
                        tok += strlen(rest);                    \
                        skipspace(tok);                         \
                        <span class="keywordflow">if</span> (*(tok) != <span class="charliteral">&#39;=&#39;</span>) <span class="keywordflow">goto</span> __fail;         \
                        <span class="keywordflow">else</span> (dst) = strdup((tok) + 1);         \
                }                                               \
        <span class="keywordflow">while</span>(0)
</pre></div>
</div>
</div>
<a class="anchor" id="ab077a0f193deb2485dde713446fdf1f0"></a><!-- doxytag: member="sql57.c::matchitem2" ref="ab077a0f193deb2485dde713446fdf1f0" args="(tok, first, rest1, dst1, rest2, dst2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define matchitem2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tok, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">first, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">rest1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">rest2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst2&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">case</span> first:                                                     \
                <span class="keywordflow">if</span> (strcasecmp((rest1), (tok)+1) == 0) {                \
                        tok += 1+strlen(rest1);                         \
                        skipspace(tok);                                 \
                        <span class="keywordflow">if</span> (*(tok) != <span class="charliteral">&#39;=&#39;</span>) <span class="keywordflow">goto</span> __fail;                 \
                        <span class="keywordflow">else</span> (dst1) = strdup((tok) + 1);                \
                }                                                       \
                <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcasecmp((rest2), (tok)+1) == 0) {           \
                        tok += 1+strlen(rest2);                         \
                        skipspace(tok);                                 \
                        <span class="keywordflow">if</span> (*(tok) != <span class="charliteral">&#39;=&#39;</span>) <span class="keywordflow">goto</span> __fail;                 \
                        <span class="keywordflow">else</span> (dst2) = strdup((tok) + 1);                \
                }                                                       \
                <span class="keywordflow">while</span>(0)
</pre></div>
</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a7ed4107bce204aa32df63045e8740951"></a><!-- doxytag: member="sql57.c::engine_map" ref="a7ed4107bce204aa32df63045e8740951" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structdbEngineMap__t.html">dbEngineMap_t</a> engine_map[]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
        { <span class="stringliteral">&quot;access&quot;</span>,    NULL       },
        { <span class="stringliteral">&quot;db2&quot;</span>,       NULL       },
        { <span class="stringliteral">&quot;cache&quot;</span>,     NULL       },
        { <span class="stringliteral">&quot;firebird&quot;</span>,  <span class="stringliteral">&quot;firebird&quot;</span> },
        { <span class="stringliteral">&quot;firstsql&quot;</span>,  NULL       },
        { <span class="stringliteral">&quot;foxpro&quot;</span>,    NULL       },
        { <span class="stringliteral">&quot;informix&quot;</span>,  NULL       },
        { <span class="stringliteral">&quot;ingres&quot;</span>,    NULL       },
        { <span class="stringliteral">&quot;interbase&quot;</span>, NULL       },
        { <span class="stringliteral">&quot;lightbase&quot;</span>, NULL       },
        { <span class="stringliteral">&quot;maxdb&quot;</span>,     NULL       },
        { <span class="stringliteral">&quot;monetdb&quot;</span>,   NULL       },
        { <span class="stringliteral">&quot;mimer&quot;</span>,     NULL       },
        { <span class="stringliteral">&quot;mssql&quot;</span>,     <span class="stringliteral">&quot;mssql&quot;</span>    }, 
        { <span class="stringliteral">&quot;mysql&quot;</span>,     <span class="stringliteral">&quot;mysql&quot;</span>    }, 
        { <span class="stringliteral">&quot;oracle&quot;</span>,    <span class="stringliteral">&quot;oracle&quot;</span>   },
        { <span class="stringliteral">&quot;paradox&quot;</span>,   NULL       },
        { <span class="stringliteral">&quot;pervasive&quot;</span>, NULL       },
        { <span class="stringliteral">&quot;postgre&quot;</span>,   <span class="stringliteral">&quot;pgsql&quot;</span>    },
        { <span class="stringliteral">&quot;sqlbase&quot;</span>,   NULL       },
        { <span class="stringliteral">&quot;sqlite&quot;</span>,    <span class="stringliteral">&quot;sqlite&quot;</span>   },
        { <span class="stringliteral">&quot;sqlite3&quot;</span>,   <span class="stringliteral">&quot;sqlite3&quot;</span>  }, 
        { <span class="stringliteral">&quot;sqlserver&quot;</span>, NULL       },
        { <span class="stringliteral">&quot;sybase&quot;</span>,    <span class="stringliteral">&quot;sybase&quot;</span>   }
}
</pre></div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Mon Jul 25 2011 for Open SCAP Library by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>