Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > 3ef085c66d4a743f8dec260630a0b19c > files > 252

pcsc-lite-doc-1.5.5-4.fc13.noarch.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>pcsc-lite: sys_unix.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.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_c68a5dfdca54003c765e303a18006edb.html">src</a>
  </div>
</div>
<div class="contents">
<h1>sys_unix.c File Reference</h1>
<p>This handles abstract system level calls.  
<a href="#_details">More...</a></p>
<code>#include &quot;config.h&quot;</code><br/>
<code>#include &lt;sys/types.h&gt;</code><br/>
<code>#include &lt;sys/mman.h&gt;</code><br/>
<code>#include &lt;sys/stat.h&gt;</code><br/>
<code>#include &lt;sys/wait.h&gt;</code><br/>
<code>#include &lt;sys/time.h&gt;</code><br/>
<code>#include &lt;sys/file.h&gt;</code><br/>
<code>#include &lt;fcntl.h&gt;</code><br/>
<code>#include &lt;errno.h&gt;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;signal.h&gt;</code><br/>
<code>#include &lt;time.h&gt;</code><br/>
<code>#include &quot;misc.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="sys__generic_8h_source.html">sys_generic.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="debug_8h_source.html">debug.h</a>&quot;</code><br/>
<div class="dynheader">
Include dependency graph for sys_unix.c:</div>
<div class="dynsection">
</div>

<p><a href="sys__unix_8c_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#a19e3ec9c17b0a379ff7b0b14fce101b5">SYS_Initialize</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make system wide initialization.  <a href="#a19e3ec9c17b0a379ff7b0b14fce101b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#aaa8a8aa9243f8820fa63e1bff44c84dd">SYS_Mkdir</a> (const char *path, int perms)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempts to create a directory with some permissions.  <a href="#aaa8a8aa9243f8820fa63e1bff44c84dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#a048c2f2436f5e0d7f4ee6129fba68e79">SYS_GetPID</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the running process's ID.  <a href="#a048c2f2436f5e0d7f4ee6129fba68e79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#ac5d5594ed932c84d8dc62c404d2bde09">SYS_Sleep</a> (int iTimeVal)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the current process sleep for some seconds.  <a href="#ac5d5594ed932c84d8dc62c404d2bde09"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#af101ba8774c74acd78f38d631b7d7564">SYS_USleep</a> (int iTimeVal)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the current process sleep for some microseconds.  <a href="#af101ba8774c74acd78f38d631b7d7564"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#aabf578a1fa970bfd0920706a9b5b0fe8">SYS_OpenFile</a> (const char *pcFile, int flags, int mode)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens/creates a file.  <a href="#aabf578a1fa970bfd0920706a9b5b0fe8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#a88369bb24acf2611f712b9c67a78e6d3">SYS_CloseFile</a> (int iHandle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens/creates a file.  <a href="#a88369bb24acf2611f712b9c67a78e6d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#a8598711ecee3b7dbbe3cd33d24751839">SYS_RemoveFile</a> (const char *pcFile)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a file.  <a href="#a8598711ecee3b7dbbe3cd33d24751839"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab91a01f036caa574bb1fbed45752e1ed"></a><!-- doxytag: member="sys_unix.c::SYS_Chmod" ref="ab91a01f036caa574bb1fbed45752e1ed" args="(const char *path, int mode)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_Chmod</b> (const char *path, int mode)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77622253d46bff58d9c405dac8549fe8"></a><!-- doxytag: member="sys_unix.c::SYS_Chdir" ref="a77622253d46bff58d9c405dac8549fe8" args="(const char *path)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_Chdir</b> (const char *path)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a98c8fd046ed0f4504c3c83664faf08"></a><!-- doxytag: member="sys_unix.c::SYS_GetUID" ref="a3a98c8fd046ed0f4504c3c83664faf08" args="(void)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_GetUID</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe662aa675575ba03b50d6dbd35f4231"></a><!-- doxytag: member="sys_unix.c::SYS_GetGID" ref="afe662aa675575ba03b50d6dbd35f4231" args="(void)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_GetGID</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6237f1e8cccb94e4b8a8fb6fe5e26d4a"></a><!-- doxytag: member="sys_unix.c::SYS_SeekFile" ref="a6237f1e8cccb94e4b8a8fb6fe5e26d4a" args="(int iHandle, int iSeekLength)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_SeekFile</b> (int iHandle, int iSeekLength)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe4d21b478ca4dd443e0c780cdf42419"></a><!-- doxytag: member="sys_unix.c::SYS_ReadFile" ref="afe4d21b478ca4dd443e0c780cdf42419" args="(int iHandle, char *pcBuffer, int iLength)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_ReadFile</b> (int iHandle, char *pcBuffer, int iLength)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0aa83280273a128a9c2bfd7edb731fd4"></a><!-- doxytag: member="sys_unix.c::SYS_WriteFile" ref="a0aa83280273a128a9c2bfd7edb731fd4" args="(int iHandle, const char *pcBuffer, int iLength)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_WriteFile</b> (int iHandle, const char *pcBuffer, int iLength)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#a54df036495282ead0e14788b5e14f451">SYS_GetPageSize</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the memory page size.  <a href="#a54df036495282ead0e14788b5e14f451"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#ac2e0ea856a110fff201c8f315d6c89e3">SYS_MemoryMap</a> (int iSize, int iFid, int iOffset)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map the file <code>iFid</code> in memory for reading and writing.  <a href="#ac2e0ea856a110fff201c8f315d6c89e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#af39e19e5beb78a2529f75d044609217a">SYS_PublicMemoryMap</a> (int iSize, int iFid, int iOffset)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map the file <code>iFid</code> in memory only for reading.  <a href="#af39e19e5beb78a2529f75d044609217a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#a464b8d0b052a6e9fb3aa898b5d644619">SYS_PublicMemoryUnmap</a> (void *ptr, int iSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unmap a memory segment.  <a href="#a464b8d0b052a6e9fb3aa898b5d644619"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#a3eff77be19cd07b0bb7dfd0ccc2f292b">SYS_MMapSynchronize</a> (void *begin, int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes the changes made in a memory map to the disk mapped file.  <a href="#a3eff77be19cd07b0bb7dfd0ccc2f292b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a470dc3c2665760a60116ab566cc3cba8"></a><!-- doxytag: member="sys_unix.c::SYS_Fork" ref="a470dc3c2665760a60116ab566cc3cba8" args="(void)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_Fork</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sys__unix_8c.html#af76f44e90cad6eb8641805e297085d5b">SYS_Daemon</a> (int nochdir, int noclose)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">put the process to run in the background.  <a href="#af76f44e90cad6eb8641805e297085d5b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3021176fce8b42f4bffc383059949392"></a><!-- doxytag: member="sys_unix.c::SYS_Stat" ref="a3021176fce8b42f4bffc383059949392" args="(const char *pcFile, struct stat *psStatus)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_Stat</b> (const char *pcFile, struct stat *psStatus)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95bd14bb9f0995704747706b78a5980a"></a><!-- doxytag: member="sys_unix.c::SYS_RandomInt" ref="a95bd14bb9f0995704747706b78a5980a" args="(int fStart, int fEnd)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_RandomInt</b> (int fStart, int fEnd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27a544e94fe4e1ad16a0978627d40103"></a><!-- doxytag: member="sys_unix.c::SYS_GetSeed" ref="a27a544e94fe4e1ad16a0978627d40103" args="(void)" -->
INTERNAL int&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_GetSeed</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa751f5467efbc8fb4b408ed703ab0806"></a><!-- doxytag: member="sys_unix.c::SYS_Exit" ref="aa751f5467efbc8fb4b408ed703ab0806" args="(int iRetVal)" -->
INTERNAL void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SYS_Exit</b> (int iRetVal)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This handles abstract system level calls. </p>

<p>Definition in file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a88369bb24acf2611f712b9c67a78e6d3"></a><!-- doxytag: member="sys_unix.c::SYS_CloseFile" ref="a88369bb24acf2611f712b9c67a78e6d3" args="(int iHandle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_CloseFile </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iHandle</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens/creates a file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iHandle</em>&nbsp;</td><td>File descriptor.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Error code. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>Success. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>-1</em>&nbsp;</td><td>An error ocurred. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00143">143</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="winscard__svc_8c_source.html#l00078">CreateContextThread()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00357">SCardEstablishContextTH()</a>, <a class="el" href="winscard__clnt_8c_source.html#l03864">SCardUnload()</a>, <a class="el" href="winscard__msg_8c_source.html#l00478">SHMCleanupSharedSegment()</a>, <a class="el" href="winscard__msg_8c_source.html#l00122">SHMClientCloseSession()</a>, <a class="el" href="winscard__msg_8c_source.html#l00075">SHMClientSetupSession()</a>, <a class="el" href="winscard__msg__srv_8c_source.html#l00087">SHMProcessCommonChannelRequest()</a>, <a class="el" href="winscard__msg__srv_8c_source.html#l00261">SHMProcessEventsContext()</a>, <a class="el" href="utils_8c_source.html#l00087">StatSynchronize()</a>, <a class="el" href="utils_8c_source.html#l00163">StatSynchronizeContext()</a>, and <a class="el" href="sys__unix_8c_source.html#l00318">SYS_Daemon()</a>.</p>

</div>
</div>
<a class="anchor" id="af76f44e90cad6eb8641805e297085d5b"></a><!-- doxytag: member="sys_unix.c::SYS_Daemon" ref="af76f44e90cad6eb8641805e297085d5b" args="(int nochdir, int noclose)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_Daemon </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nochdir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>noclose</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>put the process to run in the background. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>nochdir</em>&nbsp;</td><td>if zero, change the current directory to "/". </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>noclose</em>&nbsp;</td><td>if zero, redirect standard imput/output/error to /dev/nulll.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>error code. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>success. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>-1</em>&nbsp;</td><td>an error ocurred. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00318">318</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>References <a class="el" href="sys__unix_8c_source.html#l00143">SYS_CloseFile()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a54df036495282ead0e14788b5e14f451"></a><!-- doxytag: member="sys_unix.c::SYS_GetPageSize" ref="a54df036495282ead0e14788b5e14f451" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_GetPageSize </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the memory page size. </p>
<p>The page size is used when calling the <code><a class="el" href="sys__generic_8h.html#a283734774916d1b4f11c6da3ec57d78a" title="Map the file iFid in memory for reading and writing.">SYS_MemoryMap()</a></code> and <code><a class="el" href="sys__generic_8h.html#aec318ae5b72ec6d2ead5009940d6e79d" title="Map the file iFid in memory only for reading.">SYS_PublicMemoryMap()</a></code> functions.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of bytes per page. </dd></dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00207">207</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l00357">SCardEstablishContextTH()</a>, and <a class="el" href="utils_8c_source.html#l00087">StatSynchronize()</a>.</p>

</div>
</div>
<a class="anchor" id="a048c2f2436f5e0d7f4ee6129fba68e79"></a><!-- doxytag: member="sys_unix.c::SYS_GetPID" ref="a048c2f2436f5e0d7f4ee6129fba68e79" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_GetPID </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the running process's ID. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>PID. </dd></dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00071">71</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="utils_8c_source.html#l00163">StatSynchronizeContext()</a>.</p>

</div>
</div>
<a class="anchor" id="a19e3ec9c17b0a379ff7b0b14fce101b5"></a><!-- doxytag: member="sys_unix.c::SYS_Initialize" ref="a19e3ec9c17b0a379ff7b0b14fce101b5" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_Initialize </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make system wide initialization. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Eror code. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>Success. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00043">43</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l00357">SCardEstablishContextTH()</a>.</p>

</div>
</div>
<a class="anchor" id="ac2e0ea856a110fff201c8f315d6c89e3"></a><!-- doxytag: member="sys_unix.c::SYS_MemoryMap" ref="ac2e0ea856a110fff201c8f315d6c89e3" args="(int iSize, int iFid, int iOffset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL void* SYS_MemoryMap </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iFid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iOffset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Map the file <code>iFid</code> in memory for reading and writing. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iSize</em>&nbsp;</td><td>Size of the memmory mapped. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iFid</em>&nbsp;</td><td>File which will be mapped in memory. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iOffset</em>&nbsp;</td><td>Start point of the file to be mapped in memory.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Address of the memory map. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>MAP_FAILED</em>&nbsp;</td><td>in case of error </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00227">227</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

</div>
</div>
<a class="anchor" id="aaa8a8aa9243f8820fa63e1bff44c84dd"></a><!-- doxytag: member="sys_unix.c::SYS_Mkdir" ref="aaa8a8aa9243f8820fa63e1bff44c84dd" args="(const char *path, int perms)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_Mkdir </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>perms</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Attempts to create a directory with some permissions. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>Path of the directory to be created. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>perms</em>&nbsp;</td><td>Permissions to the new directory.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Eror code. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>Success. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>-1</em>&nbsp;</td><td>An error occurred. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00061">61</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

</div>
</div>
<a class="anchor" id="a3eff77be19cd07b0bb7dfd0ccc2f292b"></a><!-- doxytag: member="sys_unix.c::SYS_MMapSynchronize" ref="a3eff77be19cd07b0bb7dfd0ccc2f292b" args="(void *begin, int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_MMapSynchronize </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes the changes made in a memory map to the disk mapped file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>begin</em>&nbsp;</td><td>Start of the block to be written </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>length</em>&nbsp;</td><td>Lenght of the block to be written</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Error code. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>Success. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>-1</em>&nbsp;</td><td>An error ocurred. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00293">293</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="utils_8c_source.html#l00087">StatSynchronize()</a>.</p>

</div>
</div>
<a class="anchor" id="aabf578a1fa970bfd0920706a9b5b0fe8"></a><!-- doxytag: member="sys_unix.c::SYS_OpenFile" ref="aabf578a1fa970bfd0920706a9b5b0fe8" args="(const char *pcFile, int flags, int mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_OpenFile </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>pcFile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens/creates a file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pcFile</em>&nbsp;</td><td>path to the file. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>flags</em>&nbsp;</td><td>Open and read/write choices. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mode</em>&nbsp;</td><td>Permissions to the file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>File descriptor. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>&gt;0</em>&nbsp;</td><td>The file descriptor. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>-1</em>&nbsp;</td><td>An error ocurred. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00127">127</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l00357">SCardEstablishContextTH()</a>, <a class="el" href="utils_8c_source.html#l00087">StatSynchronize()</a>, and <a class="el" href="utils_8c_source.html#l00163">StatSynchronizeContext()</a>.</p>

</div>
</div>
<a class="anchor" id="af39e19e5beb78a2529f75d044609217a"></a><!-- doxytag: member="sys_unix.c::SYS_PublicMemoryMap" ref="af39e19e5beb78a2529f75d044609217a" args="(int iSize, int iFid, int iOffset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL void* SYS_PublicMemoryMap </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iFid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iOffset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Map the file <code>iFid</code> in memory only for reading. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iSize</em>&nbsp;</td><td>Size of the memmory mapped. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iFid</em>&nbsp;</td><td>File which will be mapped in memory. </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iOffset</em>&nbsp;</td><td>Start point of the file to be mapped in memory.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Address of the memory map. </dd></dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00255">255</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l00357">SCardEstablishContextTH()</a>.</p>

</div>
</div>
<a class="anchor" id="a464b8d0b052a6e9fb3aa898b5d644619"></a><!-- doxytag: member="sys_unix.c::SYS_PublicMemoryUnmap" ref="a464b8d0b052a6e9fb3aa898b5d644619" args="(void *ptr, int iSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL void SYS_PublicMemoryUnmap </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iSize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unmap a memory segment. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>pointer returned by <a class="el" href="sys__generic_8h.html#aec318ae5b72ec6d2ead5009940d6e79d" title="Map the file iFid in memory only for reading.">SYS_PublicMemoryMap()</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>iSize</em>&nbsp;</td><td>size of the memory segment </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00278">278</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l03864">SCardUnload()</a>.</p>

</div>
</div>
<a class="anchor" id="a8598711ecee3b7dbbe3cd33d24751839"></a><!-- doxytag: member="sys_unix.c::SYS_RemoveFile" ref="a8598711ecee3b7dbbe3cd33d24751839" args="(const char *pcFile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_RemoveFile </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>pcFile</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes a file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pcFile</em>&nbsp;</td><td>path to the file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Error code. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>Success. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>-1</em>&nbsp;</td><td>An error ocurred. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00157">157</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="winscard__msg_8c_source.html#l00478">SHMCleanupSharedSegment()</a>, and <a class="el" href="winscard__msg__srv_8c_source.html#l00133">SHMInitializeCommonSegment()</a>.</p>

</div>
</div>
<a class="anchor" id="ac5d5594ed932c84d8dc62c404d2bde09"></a><!-- doxytag: member="sys_unix.c::SYS_Sleep" ref="ac5d5594ed932c84d8dc62c404d2bde09" args="(int iTimeVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_Sleep </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iTimeVal</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes the current process sleep for some seconds. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iTimeVal</em>&nbsp;</td><td>Number of seconds to sleep. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00081">81</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="pcscdaemon_8c_source.html#l00080">SVCServiceRunLoop()</a>.</p>

</div>
</div>
<a class="anchor" id="af101ba8774c74acd78f38d631b7d7564"></a><!-- doxytag: member="sys_unix.c::SYS_USleep" ref="af101ba8774c74acd78f38d631b7d7564" args="(int iTimeVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERNAL int SYS_USleep </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iTimeVal</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes the current process sleep for some microseconds. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iTimeVal</em>&nbsp;</td><td>Number of microseconds to sleep. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sys__unix_8c_source.html#l00099">99</a> of file <a class="el" href="sys__unix_8c_source.html">sys_unix.c</a>.</p>

<p>Referenced by <a class="el" href="ifdwrapper_8c_source.html#l00181">IFDCloseIFD()</a>, <a class="el" href="winscard_8c_source.html#l01021">SCardBeginTransaction()</a>, <a class="el" href="winscard_8c_source.html#l00271">SCardConnect()</a>, <a class="el" href="winscard_8c_source.html#l00838">SCardDisconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01266">SCardEndTransaction()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l01872">SCardGetStatusChange()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>