Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 6de995e505c7785275e786dd8bd6ac88 > files > 67

libcgi-devel-1.0-10.fc12.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>CGI manipulation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc2 -->
<center>
<a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>CGI manipulation</h1>
<p>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>formvars *&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a0">cgi_process_form</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Process HTML form or URL data.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a1">cgi_fatal</a> (const char *msg)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Kills the application with a message.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a2">cgi_include</a> (const char *filename)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Include static files.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a3">cgi_init_headers</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Initialize HTML headers.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a4">cgi_param_multiple</a> (const char *name)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Return all values with the same name sent by a form.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a5">cgi_redirect</a> (char *url)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Recirects to the specified url.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a7">cgi_init</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Main cgi function.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a8">cgi_end</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Performs cgi clean ups.</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a9">cgi_unescape_special_chars</a> (char *str)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Transforms' URL special chars.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a10">cgi_escape_special_chars</a> (char *str)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Transforms' special characters into hexadecimal form ( %E1 ).</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a11">cgi_param</a> (const char *var_name)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets the of HTML or URL variable indicated by 'name'.</em> <a href="#a11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__libcgi__cgi.html#a12">cgi_send_header</a> (const char *header)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sends a specific header.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a8" doxytag="cgi.c::cgi_end"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void cgi_end </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Performs cgi clean ups.
<p>
Provides some methods to clean memory or any other job that need to be done before the end of the application. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a7">cgi_init</a> </dd></dl>
    </td>
  </tr>
</table>
<a name="a10" doxytag="cgi.c::cgi_escape_special_chars"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* cgi_escape_special_chars </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Transforms' special characters into hexadecimal form ( %E1 ).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>str</em>&nbsp;</td><td>String to parse </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The new string </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a9">cgi_unescape_special_chars</a> </dd></dl>
    </td>
  </tr>
</table>
<a name="a1" doxytag="cgi.c::cgi_fatal"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void cgi_fatal </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>msg</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Kills the application with a message.
<p>
Writes msg and terminate <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>msg</em>&nbsp;</td><td>Message to send to the browser before killing </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a name="a2" doxytag="cgi.c::cgi_include"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int cgi_include </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>filename</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Include static files.
<p>
Function used to include static data ( normaly html files ). File contents will never be processed. Note that I don't scan for any special character. The reason I did it is, if the you are using this library, you have a shell where you can compile the cgi program. And can do much more ;-) <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>filename</em>&nbsp;</td><td>Filename with full path to include </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>If an error occurs and libcgi_debug is true, then a warning message is showed. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd>libcgi_debug</dd></dl>
<div class="fragment"><pre>
 <a class="code" href="group__libcgi__cgi.html#a2">cgi_include</a>(<span class="stringliteral">"top_bar.htm"</span>);
 
</pre></div>    </td>
  </tr>
</table>
<a name="a7" doxytag="cgi.c::cgi_init"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int cgi_init </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Main cgi function.
<p>
Configures all (most?) we need to get cgi library working correctly. It MUST be called before any other cgi function. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a8">cgi_end</a>, <a class="el" href="group__libcgi__cgi.html#a0">cgi_process_form</a>, <a class="el" href="group__libcgi__cgi.html#a3">cgi_init_headers</a> </dd></dl>
    </td>
  </tr>
</table>
<a name="a3" doxytag="cgi.c::cgi_init_headers"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void cgi_init_headers </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Initialize HTML headers.
<p>
You need to call this function before that any content is send to the brosert, otherwise you'll get an error (Error 500). <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a7">cgi_init</a> </dd></dl>
    </td>
  </tr>
</table>
<a name="a11" doxytag="cgi.c::cgi_param"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* cgi_param </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>var_name</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the of HTML or URL variable indicated by 'name'.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>name</em>&nbsp;</td><td>Form Variable name </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a4">cgi_param_multiple</a>, <a class="el" href="group__libcgi__cgi.html#a0">cgi_process_form</a>, <a class="el" href="group__libcgi__cgi.html#a7">cgi_init</a></dd></dl>
<div class="fragment"><pre>
 <span class="comment">// ...</span>
 <span class="keywordtype">char</span> *contents;
 
 <a class="code" href="group__libcgi__cgi.html#a7">cgi_init</a>();
 <a class="code" href="group__libcgi__cgi.html#a0">cgi_process_form</a>();
 <a class="code" href="group__libcgi__cgi.html#a3">cgi_init_headers</a>();
 
 contents = <a class="code" href="group__libcgi__cgi.html#a11">cgi_param</a>(<span class="stringliteral">"foo"</span>);
 
 puts(contents);
 
 <span class="comment">// ...</span>
 
</pre></div>    </td>
  </tr>
</table>
<a name="a4" doxytag="cgi.c::cgi_param_multiple"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* cgi_param_multiple </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>name</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return all values with the same name sent by a form.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>name</em>&nbsp;</td><td>Form variable name </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Form variable contents </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a11">cgi_param</a></dd></dl>
Example: For example, if in your HTML you have something like<br>
 <br>
 <pre>
 "What do you like??"<br>

  Computers : &lt;input type='checkbox' name='like' value='computers'&gt;&lt;br&gt;
  Internet : &lt;input type='checkbox' name='like' value='net'&gt;&lt;br&gt;
  games : &lt;input type='checkbox' name='like' 'value='games''&gt;&lt;br&gt;
 </pre>
 <br>
 then, to retrieve all values, you can make a code like<br>
<br>

<p>
<div class="fragment"><pre>
 <span class="comment">// ...</span>
 <span class="keywordtype">char</span> *data;
 \\ ...
 <span class="keywordflow">while</span> ((data = <a class="code" href="group__libcgi__cgi.html#a4">cgi_param_multiple</a>(<span class="stringliteral">"like"</span>)) != NULL)
        puts(data);
 \\ ...
 
</pre></div>    </td>
  </tr>
</table>
<a name="a0" doxytag="cgi.c::cgi_process_form"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> formvars* cgi_process_form </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Process HTML form or URL data.
<p>
Used to retrieve GET or POST data. It handles automaticaly the correct REQUEST_METHOD, so you don't need to afraid about it. <dl compact><dt><b>Returns:</b></dt><dd>Returns the contents of URL or FORM into a formvars variable, or NULL if FALSE. Most of time, you don't need any variable to store the form data, because is used an internal variable to manipulate the contents. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a7">cgi_init</a>, <a class="el" href="group__libcgi__cgi.html#a3">cgi_init_headers</a> </dd></dl>
    </td>
  </tr>
</table>
<a name="a5" doxytag="cgi.c::cgi_redirect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void cgi_redirect </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>url</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Recirects to the specified url.
<p>
Remember that you cannot send any header before this function, or it will not work. <b>Note:</b><br>
 LibCGI does not implement RFC 2396 to make the lib simple and quick. You should be sure to pass a correct URI to this function. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>url</em>&nbsp;</td><td>url to redirect the browser</td></tr>
  </table>
</dl>
<div class="fragment"><pre>
 <a class="code" href="group__libcgi__cgi.html#a5">cgi_redirect</a>(<span class="stringliteral">"http://wwww.linux.org"</span>);
 
</pre></div>    </td>
  </tr>
</table>
<a name="a12" doxytag="cgi.c::cgi_send_header"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void cgi_send_header </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>header</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sends a specific header.
<p>
Sends a specific HTTP header. You won't need to add '\n\n' chars. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>header</em>&nbsp;</td><td>HTTP header to send, without new line characteres </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>True </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a3">cgi_init_headers</a> </dd></dl>
    </td>
  </tr>
</table>
<a name="a9" doxytag="cgi.c::cgi_unescape_special_chars"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* cgi_unescape_special_chars </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Transforms' URL special chars.
<p>
Search for special chars ( like %E1 ) in str, converting them to the ascii character correspondent. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>str</em>&nbsp;</td><td>String containing data to parse </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The new string </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__libcgi__cgi.html#a10">cgi_escape_special_chars</a> </dd></dl>
    </td>
  </tr>
</table>
<hr><address style="align: right;"><small>Generated on Thu Mar 13 10:13:11 2003 for LibCGI by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.3-rc2 </small></address>
</body>
</html>