Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 1d49b8f9ae104bfd1869bc35e6bbf50d > files > 291

pcsc-lite-doc-1.7.2-1.fc15.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: winscard_msg.h 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.3 -->
<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">pcsc-lite&#160;<span id="projectnumber">1.7.2</span></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="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>
      <li><a href="dirs.html"><span>Directories</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 id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="dir_7a4553ee0c3b13d0e595a5d1659110a6.html">src</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="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>winscard_msg.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>This defines some structures and #defines to be used over the transport layer.  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for winscard_msg.h:</div>
<div class="dyncontent">
<div class="center"><img src="winscard__msg_8h__incl.png" border="0" usemap="#winscard__msg_8h" alt=""/></div>
<map name="winscard__msg_8h" id="winscard__msg_8h">
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="winscard__msg_8h__dep__incl.png" border="0" usemap="#winscard__msg_8hdep" alt=""/></div>
<map name="winscard__msg_8hdep" id="winscard__msg_8hdep">
<area shape="rect" id="node3" href="pcsc-wirecheck-dist_8c_source.html" title="pcsc&#45;wirecheck&#45;dist.c" alt="" coords="5,83,155,112"/><area shape="rect" id="node5" href="pcsc-wirecheck-gen_8c_source.html" title="pcsc&#45;wirecheck&#45;gen.c" alt="" coords="179,83,328,112"/><area shape="rect" id="node7" href="pcscdaemon_8c.html" title="This is the main pcscd daemon." alt="" coords="352,83,459,112"/><area shape="rect" id="node9" href="winscard__clnt_8c.html" title="winscard_clnt.c" alt="" coords="483,83,595,112"/><area shape="rect" id="node11" href="winscard__msg_8c.html" title="This is responsible for client/server communication." alt="" coords="619,83,736,112"/><area shape="rect" id="node13" href="winscard__msg__srv_8c.html" title="client/server communication (on the server side only)" alt="" coords="760,83,901,112"/><area shape="rect" id="node15" href="winscard__svc_8c.html" title="This demarshalls functions over the message queue and keeps track of clients and their handles..." alt="" coords="925,83,1037,112"/></map>
</div>
</div>
<p><a href="winscard__msg_8h_source.html">Go to the source code of this file.</a></p>
<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="structversion__struct.html">version_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Information transmitted in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca775afaef84c85d8173a20debb1a9e2ef">CMD_VERSION</a> Messages.  <a href="structversion__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrxHeader.html">rxHeader</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">header structure for client/server message data exchange.  <a href="structrxHeader.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structclient__struct.html">client_struct</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwait__reader__state__change.html">wait_reader_state_change</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Information contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca7afd6740fc03a9c4395de07b6b29ad40">CMD_WAIT_READER_STATE_CHANGE</a> Messages.  <a href="structwait__reader__state__change.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structestablish__struct.html">establish_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Information contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaf90d9882a83562f678f57ce8de9a51a1">SCARD_ESTABLISH_CONTEXT</a> Messages.  <a href="structestablish__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrelease__struct.html">release_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Information contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca072877189b15a07bbc7918a7fdd2a573">SCARD_RELEASE_CONTEXT</a> Messages.  <a href="structrelease__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structconnect__struct.html">connect_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcae4539f439555e7f577f08de789fd4e2c">SCARD_CONNECT</a> Messages.  <a href="structconnect__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreconnect__struct.html">reconnect_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca8b46439f3998639c1935c51fb984794f">SCARD_RECONNECT</a> Messages.  <a href="structreconnect__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdisconnect__struct.html">disconnect_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca014966b0829c1dd57df6c62a53c7c9f0">SCARD_DISCONNECT</a> Messages.  <a href="structdisconnect__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbegin__struct.html">begin_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaa49e6ed0bf4f1b9fe85c23699fdac94c">SCARD_BEGIN_TRANSACTION</a> Messages.  <a href="structbegin__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structend__struct.html">end_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcac03f9c354d75ab9e5b53d0af82b2f7ff">SCARD_END_TRANSACTION</a> Messages.  <a href="structend__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcancel__struct.html">cancel_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcac0d6cd84c358c5f349cf40f4235791d0">SCARD_CANCEL</a> Messages.  <a href="structcancel__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstatus__struct.html">status_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca8dd333ed3f05b986c67abbd6291d4188">SCARD_STATUS</a> Messages.  <a href="structstatus__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtransmit__struct.html">transmit_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaaa1c43a9cc7497df780b9e5a81a3abcb">SCARD_TRANSMIT</a> Messages.  <a href="structtransmit__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcontrol__struct.html">control_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca50f40e02c69625cb2e03e7094ce9d8b1">SCARD_CONTROL</a> Messages.  <a href="structcontrol__struct.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgetset__struct.html">getset_struct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contained in <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca9198ad4e3cd0613906124c5243e7c12e">SCARD_GET_ATTRIB</a> and <code>Messages</code>.  <a href="structgetset__struct.html#_details">More...</a><br/></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="a2ec4920ff3b207d71c2ae86d807dbdd7"></a><!-- doxytag: member="winscard_msg.h::PROTOCOL_VERSION_MAJOR" ref="a2ec4920ff3b207d71c2ae86d807dbdd7" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a2ec4920ff3b207d71c2ae86d807dbdd7">PROTOCOL_VERSION_MAJOR</a>&#160;&#160;&#160;4</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Major version of the current message protocol. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ff5cd412ba2c8563fa89754cf534d41"></a><!-- doxytag: member="winscard_msg.h::PROTOCOL_VERSION_MINOR" ref="a9ff5cd412ba2c8563fa89754cf534d41" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a9ff5cd412ba2c8563fa89754cf534d41">PROTOCOL_VERSION_MINOR</a>&#160;&#160;&#160;2</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Minor version of the current message protocol. <br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dc">pcsc_msg_commands</a> { <br/>
&#160;&#160;<b>CMD_ENUM_FIRST</b>, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaf90d9882a83562f678f57ce8de9a51a1">SCARD_ESTABLISH_CONTEXT</a> =  0x01, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca072877189b15a07bbc7918a7fdd2a573">SCARD_RELEASE_CONTEXT</a> =  0x02, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcab75cb198a0e9a3137f28e63330d42d9b">SCARD_LIST_READERS</a> =  0x03, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcae4539f439555e7f577f08de789fd4e2c">SCARD_CONNECT</a> =  0x04, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca8b46439f3998639c1935c51fb984794f">SCARD_RECONNECT</a> =  0x05, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca014966b0829c1dd57df6c62a53c7c9f0">SCARD_DISCONNECT</a> =  0x06, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaa49e6ed0bf4f1b9fe85c23699fdac94c">SCARD_BEGIN_TRANSACTION</a> =  0x07, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcac03f9c354d75ab9e5b53d0af82b2f7ff">SCARD_END_TRANSACTION</a> =  0x08, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaaa1c43a9cc7497df780b9e5a81a3abcb">SCARD_TRANSMIT</a> =  0x09, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca50f40e02c69625cb2e03e7094ce9d8b1">SCARD_CONTROL</a> =  0x0A, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca8dd333ed3f05b986c67abbd6291d4188">SCARD_STATUS</a> =  0x0B, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca48979952e37fda999c909f6e737b6980">SCARD_GET_STATUS_CHANGE</a> =  0x0C, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcac0d6cd84c358c5f349cf40f4235791d0">SCARD_CANCEL</a> =  0x0D, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcac37bcc23f8c37c5d7e8d1ecb6097efba">SCARD_CANCEL_TRANSACTION</a> =  0x0E, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca9198ad4e3cd0613906124c5243e7c12e">SCARD_GET_ATTRIB</a> =  0x0F, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca068f22e88bd4939797c3c359c9fbf075">SCARD_SET_ATTRIB</a> =  0x10, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca775afaef84c85d8173a20debb1a9e2ef">CMD_VERSION</a> =  0x11, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca192ae79f1c5d3d5f72f2b1c66d0b1cb8">CMD_GET_READERS_STATE</a> =  0x12, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca7afd6740fc03a9c4395de07b6b29ad40">CMD_WAIT_READER_STATE_CHANGE</a> =  0x13, 
<br/>
&#160;&#160;<a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca0e6dde8afb7713e6973888b536ec7d79">CMD_STOP_WAITING_READER_STATE_CHANGE</a> =  0x14, 
<br/>
&#160;&#160;<b>CMD_ENUM_LAST</b>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Commands available to use in the field <code>sharedSegmentMsg.command</code>. </p>
 <a href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dc">More...</a><br/></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="a05e2e987d41cf83a2de0948064b9e232"></a><!-- doxytag: member="winscard_msg.h::getSocketName" ref="a05e2e987d41cf83a2de0948064b9e232" args="(void)" -->
char *&#160;</td><td class="memItemRight" valign="bottom"><b>getSocketName</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#ab19f0d98aa90725ca558be816dab3b59">ClientSetupSession</a> (uint32_t *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares a communication channel for the client to talk to the server.  <a href="#ab19f0d98aa90725ca558be816dab3b59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a3ac9199c5e346cd4d9729e190d9ae0e8">ClientCloseSession</a> (uint32_t)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the socket used by the client to communicate with the server.  <a href="#a3ac9199c5e346cd4d9729e190d9ae0e8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LONG&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a3c7f8cd86b5717adc9a32546159585ce">MessageReceiveTimeout</a> (uint32_t command, void *buffer, uint64_t buffer_size, int32_t filedes, int32_t timeOut)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the Client to get the reponse from the server or vice-versa.  <a href="#a3c7f8cd86b5717adc9a32546159585ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LONG&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a5bb74102a7d2387f14d7341f1894ee3e">MessageSendWithHeader</a> (uint32_t command, uint32_t dwClientID, uint64_t size, void *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for the <a class="el" href="winscard__msg_8c.html#aacd09139ce5667d3b651de29c0d62057" title="Sends a menssage from client to server or vice-versa.">MessageSend()</a> function.  <a href="#a5bb74102a7d2387f14d7341f1894ee3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LONG&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a05d22dbf58a6d7ab9b0c1ae77049f533">MessageSend</a> (void *buffer, uint64_t buffer_size, int32_t filedes)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a menssage from client to server or vice-versa.  <a href="#a05d22dbf58a6d7ab9b0c1ae77049f533"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LONG&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a081a9b923dff2a0a831b604dd7d1267b">MessageReceive</a> (void *buffer, uint64_t buffer_size, int32_t filedes)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the Client to get the reponse from the server or vice-versa.  <a href="#a081a9b923dff2a0a831b604dd7d1267b"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This defines some structures and #defines to be used over the transport layer. </p>

<p>Definition in file <a class="el" href="winscard__msg_8h_source.html">winscard_msg.h</a>.</p>
</div><hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="add241284f0460327d523aec6e1cd17dc"></a><!-- doxytag: member="winscard_msg.h::pcsc_msg_commands" ref="add241284f0460327d523aec6e1cd17dc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dc">pcsc_msg_commands</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Commands available to use in the field <code>sharedSegmentMsg.command</code>. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dcaf90d9882a83562f678f57ce8de9a51a1"></a><!-- doxytag: member="SCARD_ESTABLISH_CONTEXT" ref="add241284f0460327d523aec6e1cd17dcaf90d9882a83562f678f57ce8de9a51a1" args="" -->SCARD_ESTABLISH_CONTEXT</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#gaa1b8970169fd4883a6dc4a8f43f19b67" title="Creates an Application Context to the PC/SC Resource Manager.">SCardEstablishContext()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca072877189b15a07bbc7918a7fdd2a573"></a><!-- doxytag: member="SCARD_RELEASE_CONTEXT" ref="add241284f0460327d523aec6e1cd17dca072877189b15a07bbc7918a7fdd2a573" args="" -->SCARD_RELEASE_CONTEXT</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#ga6aabcba7744c5c9419fdd6404f73a934" title="Destroys a communication context to the PC/SC Resource Manager.">SCardReleaseContext()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dcab75cb198a0e9a3137f28e63330d42d9b"></a><!-- doxytag: member="SCARD_LIST_READERS" ref="add241284f0460327d523aec6e1cd17dcab75cb198a0e9a3137f28e63330d42d9b" args="" -->SCARD_LIST_READERS</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#ga93b07815789b3cf2629d439ecf20f0d9" title="This function returns a list of currently available readers on the system.">SCardListReaders()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dcae4539f439555e7f577f08de789fd4e2c"></a><!-- doxytag: member="SCARD_CONNECT" ref="add241284f0460327d523aec6e1cd17dcae4539f439555e7f577f08de789fd4e2c" args="" -->SCARD_CONNECT</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#ga4e515829752e0a8dbc4d630696a8d6a5" title="Establishes a connection to the reader specified in * szReader.">SCardConnect()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca8b46439f3998639c1935c51fb984794f"></a><!-- doxytag: member="SCARD_RECONNECT" ref="add241284f0460327d523aec6e1cd17dca8b46439f3998639c1935c51fb984794f" args="" -->SCARD_RECONNECT</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#gad5d4393ca8c470112ad9468c44ed8940" title="Reestablishes a connection to a reader that was previously connected to using SCardConnect().">SCardReconnect()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca014966b0829c1dd57df6c62a53c7c9f0"></a><!-- doxytag: member="SCARD_DISCONNECT" ref="add241284f0460327d523aec6e1cd17dca014966b0829c1dd57df6c62a53c7c9f0" args="" -->SCARD_DISCONNECT</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#ga4be198045c73ec0deb79e66c0ca1738a" title="Terminates a connection made through SCardConnect().">SCardDisconnect()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dcaa49e6ed0bf4f1b9fe85c23699fdac94c"></a><!-- doxytag: member="SCARD_BEGIN_TRANSACTION" ref="add241284f0460327d523aec6e1cd17dcaa49e6ed0bf4f1b9fe85c23699fdac94c" args="" -->SCARD_BEGIN_TRANSACTION</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#gaddb835dce01a0da1d6ca02d33ee7d861" title="Establishes a temporary exclusive access mode for doing a serie of commands in a transaction.">SCardBeginTransaction()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dcac03f9c354d75ab9e5b53d0af82b2f7ff"></a><!-- doxytag: member="SCARD_END_TRANSACTION" ref="add241284f0460327d523aec6e1cd17dcac03f9c354d75ab9e5b53d0af82b2f7ff" args="" -->SCARD_END_TRANSACTION</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#gae8742473b404363e5c587f570d7e2f3b" title="Ends a previously begun transaction.">SCardEndTransaction()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dcaaa1c43a9cc7497df780b9e5a81a3abcb"></a><!-- doxytag: member="SCARD_TRANSMIT" ref="add241284f0460327d523aec6e1cd17dcaaa1c43a9cc7497df780b9e5a81a3abcb" args="" -->SCARD_TRANSMIT</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#ga9a2d77242a271310269065e64633ab99" title="Sends an APDU to the smart card contained in the reader connected to by SCardConnect().">SCardTransmit()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca50f40e02c69625cb2e03e7094ce9d8b1"></a><!-- doxytag: member="SCARD_CONTROL" ref="add241284f0460327d523aec6e1cd17dca50f40e02c69625cb2e03e7094ce9d8b1" args="" -->SCARD_CONTROL</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#gac3454d4657110fd7f753b2d3d8f4e32f" title="Sends a command directly to the IFD Handler (reader driver) to be processed by the reader...">SCardControl()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca8dd333ed3f05b986c67abbd6291d4188"></a><!-- doxytag: member="SCARD_STATUS" ref="add241284f0460327d523aec6e1cd17dca8dd333ed3f05b986c67abbd6291d4188" args="" -->SCARD_STATUS</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#ga18f33eebb45d9e0d2a091ca7a0511d26" title="Returns the current status of the reader connected to by hCard.">SCardStatus()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca48979952e37fda999c909f6e737b6980"></a><!-- doxytag: member="SCARD_GET_STATUS_CHANGE" ref="add241284f0460327d523aec6e1cd17dca48979952e37fda999c909f6e737b6980" args="" -->SCARD_GET_STATUS_CHANGE</em>&nbsp;</td><td>
<p>not used </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dcac0d6cd84c358c5f349cf40f4235791d0"></a><!-- doxytag: member="SCARD_CANCEL" ref="add241284f0460327d523aec6e1cd17dcac0d6cd84c358c5f349cf40f4235791d0" args="" -->SCARD_CANCEL</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#gaacbbc0c6d6c0cbbeb4f4debf6fbeeee6" title="This function cancels all pending blocking requests on the SCardGetStatusChange() function...">SCardCancel()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dcac37bcc23f8c37c5d7e8d1ecb6097efba"></a><!-- doxytag: member="SCARD_CANCEL_TRANSACTION" ref="add241284f0460327d523aec6e1cd17dcac37bcc23f8c37c5d7e8d1ecb6097efba" args="" -->SCARD_CANCEL_TRANSACTION</em>&nbsp;</td><td>
<p>not used </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca9198ad4e3cd0613906124c5243e7c12e"></a><!-- doxytag: member="SCARD_GET_ATTRIB" ref="add241284f0460327d523aec6e1cd17dca9198ad4e3cd0613906124c5243e7c12e" args="" -->SCARD_GET_ATTRIB</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#gaacfec51917255b7a25b94c5104961602" title="Get an attribute from the IFD Handler (reader driver).">SCardGetAttrib()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca068f22e88bd4939797c3c359c9fbf075"></a><!-- doxytag: member="SCARD_SET_ATTRIB" ref="add241284f0460327d523aec6e1cd17dca068f22e88bd4939797c3c359c9fbf075" args="" -->SCARD_SET_ATTRIB</em>&nbsp;</td><td>
<p>used by <a class="el" href="group__API.html#ga060f0038a4ddfd5dd2b8fadf3c3a2e4f" title="Set an attribute of the IFD Handler.">SCardSetAttrib()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca775afaef84c85d8173a20debb1a9e2ef"></a><!-- doxytag: member="CMD_VERSION" ref="add241284f0460327d523aec6e1cd17dca775afaef84c85d8173a20debb1a9e2ef" args="" -->CMD_VERSION</em>&nbsp;</td><td>
<p>get the client/server protocol version </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca192ae79f1c5d3d5f72f2b1c66d0b1cb8"></a><!-- doxytag: member="CMD_GET_READERS_STATE" ref="add241284f0460327d523aec6e1cd17dca192ae79f1c5d3d5f72f2b1c66d0b1cb8" args="" -->CMD_GET_READERS_STATE</em>&nbsp;</td><td>
<p>get the readers state </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca7afd6740fc03a9c4395de07b6b29ad40"></a><!-- doxytag: member="CMD_WAIT_READER_STATE_CHANGE" ref="add241284f0460327d523aec6e1cd17dca7afd6740fc03a9c4395de07b6b29ad40" args="" -->CMD_WAIT_READER_STATE_CHANGE</em>&nbsp;</td><td>
<p>wait for a reader state change </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="add241284f0460327d523aec6e1cd17dca0e6dde8afb7713e6973888b536ec7d79"></a><!-- doxytag: member="CMD_STOP_WAITING_READER_STATE_CHANGE" ref="add241284f0460327d523aec6e1cd17dca0e6dde8afb7713e6973888b536ec7d79" args="" -->CMD_STOP_WAITING_READER_STATE_CHANGE</em>&nbsp;</td><td>
<p>stop waiting for a reader state change </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="winscard__msg_8h_source.html#l00052">52</a> of file <a class="el" href="winscard__msg_8h_source.html">winscard_msg.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a3ac9199c5e346cd4d9729e190d9ae0e8"></a><!-- doxytag: member="winscard_msg.h::ClientCloseSession" ref="a3ac9199c5e346cd4d9729e190d9ae0e8" args="(uint32_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ClientCloseSession </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dwClientID</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Closes the socket used by the client to communicate with the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dwClientID</td><td>Client socket handle to be closed.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="winscard__msg_8c_source.html#l00138">138</a> of file <a class="el" href="winscard__msg_8c_source.html">winscard_msg.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="ab19f0d98aa90725ca558be816dab3b59"></a><!-- doxytag: member="winscard_msg.h::ClientSetupSession" ref="ab19f0d98aa90725ca558be816dab3b59" args="(uint32_t *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ClientSetupSession </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>pdwClientID</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prepares a communication channel for the client to talk to the server. </p>
<p>This is called by the application to create a socket for local IPC with the server. The socket is associated to the file <code>PCSCLITE_CSOCK_NAME</code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">pdwClientID</td><td>Client Connection ID.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>Success. </td></tr>
    <tr><td class="paramname">-1</td><td>Can not create the socket. </td></tr>
    <tr><td class="paramname">-1</td><td>The socket can not open a connection. </td></tr>
    <tr><td class="paramname">-1</td><td>Can not set the socket to non-blocking. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="winscard__msg_8c_source.html#l00090">90</a> of file <a class="el" href="winscard__msg_8c_source.html">winscard_msg.c</a>.</p>

<p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l03174">SCardCancel()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l00498">SCardEstablishContextTH()</a>.</p>

</div>
</div>
<a class="anchor" id="a081a9b923dff2a0a831b604dd7d1267b"></a><!-- doxytag: member="winscard_msg.h::MessageReceive" ref="a081a9b923dff2a0a831b604dd7d1267b" args="(void *buffer, uint64_t buffer_size, int32_t filedes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LONG MessageReceive </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer_void</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>buffer_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>filedes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called by the Client to get the reponse from the server or vice-versa. </p>
<p>Reads the message from the file <code>filedes</code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">buffer_void</td><td>Message read. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_size</td><td>Size to read </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filedes</td><td>Socket handle.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">SCARD_S_SUCCESS</td><td>Success. </td></tr>
    <tr><td class="paramname">SCARD_F_COMM_ERROR</td><td>Socket is closed. </td></tr>
    <tr><td class="paramname">SCARD_F_COMM_ERROR</td><td>A signal was received. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="winscard__msg_8c_source.html#l00415">415</a> of file <a class="el" href="winscard__msg_8c_source.html">winscard_msg.c</a>.</p>

<p>References <a class="el" href="pcsclite_8h_source.html#l00099">SCARD_F_COMM_ERROR</a>, and <a class="el" href="pcsclite_8h_source.html#l00080">SCARD_S_SUCCESS</a>.</p>

<p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l01158">SCardBeginTransaction()</a>, <a class="el" href="winscard__clnt_8c_source.html#l03174">SCardCancel()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00778">SCardConnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l02251">SCardControl()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01053">SCardDisconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01267">SCardEndTransaction()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00498">SCardEstablishContextTH()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01716">SCardGetStatusChange()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00944">SCardReconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00650">SCardReleaseContext()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01428">SCardStatus()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l02697">SCardTransmit()</a>.</p>

</div>
</div>
<a class="anchor" id="a3c7f8cd86b5717adc9a32546159585ce"></a><!-- doxytag: member="winscard_msg.h::MessageReceiveTimeout" ref="a3c7f8cd86b5717adc9a32546159585ce" args="(uint32_t command, void *buffer, uint64_t buffer_size, int32_t filedes, int32_t timeOut)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LONG MessageReceiveTimeout </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer_void</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>buffer_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>filedes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>timeOut</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called by the Client to get the reponse from the server or vice-versa. </p>
<p>Reads the message from the file <code>filedes</code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>one of the <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dc">pcsc_msg_commands</a> commands </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buffer_void</td><td>Message read. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_size</td><td>Size to read </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filedes</td><td>Socket handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">timeOut</td><td>Timeout in milliseconds.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">SCARD_S_SUCCESS</td><td>Success. </td></tr>
    <tr><td class="paramname">SCARD_E_TIMEOUT</td><td>Timeout. </td></tr>
    <tr><td class="paramname">SCARD_F_COMM_ERROR</td><td>Socket is closed. </td></tr>
    <tr><td class="paramname">SCARD_F_COMM_ERROR</td><td>A signal was received. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="winscard__msg_8c_source.html#l00159">159</a> of file <a class="el" href="winscard__msg_8c_source.html">winscard_msg.c</a>.</p>

<p>References <a class="el" href="pcsclite_8h_source.html#l00090">SCARD_E_TIMEOUT</a>, <a class="el" href="pcsclite_8h_source.html#l00099">SCARD_F_COMM_ERROR</a>, <a class="el" href="pcsclite_8h_source.html#l00080">SCARD_S_SUCCESS</a>, <a class="el" href="winscard__clnt_8c_source.html#l03584">SCardCheckDaemonAvailability()</a>, and <a class="el" href="utils_8c_source.html#l00106">time_sub()</a>.</p>

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

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="winscard__msg_8h_a3c7f8cd86b5717adc9a32546159585ce_cgraph.png" border="0" usemap="#winscard__msg_8h_a3c7f8cd86b5717adc9a32546159585ce_cgraph" alt=""/></div>
<map name="winscard__msg_8h_a3c7f8cd86b5717adc9a32546159585ce_cgraph" id="winscard__msg_8h_a3c7f8cd86b5717adc9a32546159585ce_cgraph">
<area shape="rect" id="node3" href="winscard__clnt_8c.html#aaa02e1f70d68a502cd92ed066c44542f" title="Checks if the server is running." alt="" coords="225,5,433,35"/><area shape="rect" id="node5" href="utils_8c.html#a470f4ac4abe231a7b3346be4fe455912" title="return the difference (as long int) in µs between 2 struct timeval r = a &#45; b" alt="" coords="292,59,367,88"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a05d22dbf58a6d7ab9b0c1ae77049f533"></a><!-- doxytag: member="winscard_msg.h::MessageSend" ref="a05d22dbf58a6d7ab9b0c1ae77049f533" args="(void *buffer, uint64_t buffer_size, int32_t filedes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LONG MessageSend </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer_void</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>buffer_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>filedes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sends a menssage from client to server or vice-versa. </p>
<p>Writes the message in the shared file <code>filedes</code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_void</td><td>Message to be sent. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_size</td><td>Size of the message to send </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filedes</td><td>Socket handle.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">SCARD_S_SUCCESS</td><td>Success </td></tr>
    <tr><td class="paramname">SCARD_E_TIMEOUT</td><td>Timeout. </td></tr>
    <tr><td class="paramname">SCARD_F_COMM_ERROR</td><td>Socket is closed. </td></tr>
    <tr><td class="paramname">SCARD_F_COMM_ERROR</td><td>A signal was received. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="winscard__msg_8c_source.html#l00317">317</a> of file <a class="el" href="winscard__msg_8c_source.html">winscard_msg.c</a>.</p>

<p>References <a class="el" href="pcsclite_8h_source.html#l00109">SCARD_E_NO_SERVICE</a>, <a class="el" href="pcsclite_8h_source.html#l00090">SCARD_E_TIMEOUT</a>, <a class="el" href="pcsclite_8h_source.html#l00099">SCARD_F_COMM_ERROR</a>, and <a class="el" href="pcsclite_8h_source.html#l00080">SCARD_S_SUCCESS</a>.</p>

<p>Referenced by <a class="el" href="winscard__msg_8c_source.html#l00281">MessageSendWithHeader()</a>, <a class="el" href="winscard__clnt_8c_source.html#l02251">SCardControl()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l02697">SCardTransmit()</a>.</p>

</div>
</div>
<a class="anchor" id="a5bb74102a7d2387f14d7341f1894ee3e"></a><!-- doxytag: member="winscard_msg.h::MessageSendWithHeader" ref="a5bb74102a7d2387f14d7341f1894ee3e" args="(uint32_t command, uint32_t dwClientID, uint64_t size, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LONG MessageSendWithHeader </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dwClientID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data_void</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Wrapper for the <a class="el" href="winscard__msg_8c.html#aacd09139ce5667d3b651de29c0d62057" title="Sends a menssage from client to server or vice-versa.">MessageSend()</a> function. </p>
<p>Called by clients to send messages to the server. The parameters <code>command</code> and <code>data</code> are set in the <code>sharedSegmentMsg</code> struct in order to be sent.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>Command to be sent. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dwClientID</td><td>Client socket handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the message (<code>data</code>). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_void</td><td>Data to be sent.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Same error codes as <a class="el" href="winscard__msg_8c.html#aacd09139ce5667d3b651de29c0d62057" title="Sends a menssage from client to server or vice-versa.">MessageSend()</a>. </dd></dl>

<p>Definition at line <a class="el" href="winscard__msg_8c_source.html#l00281">281</a> of file <a class="el" href="winscard__msg_8c_source.html">winscard_msg.c</a>.</p>

<p>References <a class="el" href="winscard__msg_8h_source.html#l00046">rxHeader::command</a>, <a class="el" href="winscard__msg_8c_source.html#l00317">MessageSend()</a>, and <a class="el" href="winscard__msg_8h_source.html#l00045">rxHeader::size</a>.</p>

<p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l01158">SCardBeginTransaction()</a>, <a class="el" href="winscard__clnt_8c_source.html#l03174">SCardCancel()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00778">SCardConnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l02251">SCardControl()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01053">SCardDisconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01267">SCardEndTransaction()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00498">SCardEstablishContextTH()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01716">SCardGetStatusChange()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00944">SCardReconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00650">SCardReleaseContext()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01428">SCardStatus()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l02697">SCardTransmit()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="winscard__msg_8h_a5bb74102a7d2387f14d7341f1894ee3e_cgraph.png" border="0" usemap="#winscard__msg_8h_a5bb74102a7d2387f14d7341f1894ee3e_cgraph" alt=""/></div>
<map name="winscard__msg_8h_a5bb74102a7d2387f14d7341f1894ee3e_cgraph" id="winscard__msg_8h_a5bb74102a7d2387f14d7341f1894ee3e_cgraph">
<area shape="rect" id="node3" href="winscard__msg_8c.html#aacd09139ce5667d3b651de29c0d62057" title="Sends a menssage from client to server or vice&#45;versa." alt="" coords="231,5,335,35"/></map>
</div>
</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Mar 31 2011 for pcsc-lite by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>