<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.8"/> <title>pcsc-lite: winscard_msg.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">pcsc-lite  <span id="projectnumber">1.8.11</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.8 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">winscard_msg.h File Reference</div> </div> </div><!--header--> <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 <stdint.h></code><br /> </div> <p><a href="winscard__msg_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structversion__struct.html">version_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrxHeader.html">rxHeader</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">header structure for client/server message data exchange. <a href="structrxHeader.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structclient__struct.html">client_struct</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structwait__reader__state__change.html">wait_reader_state_change</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structestablish__struct.html">establish_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrelease__struct.html">release_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structconnect__struct.html">connect_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structreconnect__struct.html">reconnect_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structdisconnect__struct.html">disconnect_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structbegin__struct.html">begin_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structend__struct.html">end_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcancel__struct.html">cancel_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structstatus__struct.html">status_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structtransmit__struct.html">transmit_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcontrol__struct.html">control_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgetset__struct.html">getset_struct</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a2ec4920ff3b207d71c2ae86d807dbdd7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ec4920ff3b207d71c2ae86d807dbdd7"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a2ec4920ff3b207d71c2ae86d807dbdd7">PROTOCOL_VERSION_MAJOR</a>   4</td></tr> <tr class="memdesc:a2ec4920ff3b207d71c2ae86d807dbdd7"><td class="mdescLeft"> </td><td class="mdescRight">Major version of the current message protocol. <br /></td></tr> <tr class="separator:a2ec4920ff3b207d71c2ae86d807dbdd7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9ff5cd412ba2c8563fa89754cf534d41"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ff5cd412ba2c8563fa89754cf534d41"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a9ff5cd412ba2c8563fa89754cf534d41">PROTOCOL_VERSION_MINOR</a>   3</td></tr> <tr class="memdesc:a9ff5cd412ba2c8563fa89754cf534d41"><td class="mdescLeft"> </td><td class="mdescRight">Minor version of the current message protocol. <br /></td></tr> <tr class="separator:a9ff5cd412ba2c8563fa89754cf534d41"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:add241284f0460327d523aec6e1cd17dc"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dc">pcsc_msg_commands</a> { <br />   <b>CMD_ENUM_FIRST</b>, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaf90d9882a83562f678f57ce8de9a51a1">SCARD_ESTABLISH_CONTEXT</a> = 0x01, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca072877189b15a07bbc7918a7fdd2a573">SCARD_RELEASE_CONTEXT</a> = 0x02, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcab75cb198a0e9a3137f28e63330d42d9b">SCARD_LIST_READERS</a> = 0x03, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcae4539f439555e7f577f08de789fd4e2c">SCARD_CONNECT</a> = 0x04, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca8b46439f3998639c1935c51fb984794f">SCARD_RECONNECT</a> = 0x05, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca014966b0829c1dd57df6c62a53c7c9f0">SCARD_DISCONNECT</a> = 0x06, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaa49e6ed0bf4f1b9fe85c23699fdac94c">SCARD_BEGIN_TRANSACTION</a> = 0x07, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcac03f9c354d75ab9e5b53d0af82b2f7ff">SCARD_END_TRANSACTION</a> = 0x08, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcaaa1c43a9cc7497df780b9e5a81a3abcb">SCARD_TRANSMIT</a> = 0x09, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca50f40e02c69625cb2e03e7094ce9d8b1">SCARD_CONTROL</a> = 0x0A, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca8dd333ed3f05b986c67abbd6291d4188">SCARD_STATUS</a> = 0x0B, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca48979952e37fda999c909f6e737b6980">SCARD_GET_STATUS_CHANGE</a> = 0x0C, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcac0d6cd84c358c5f349cf40f4235791d0">SCARD_CANCEL</a> = 0x0D, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dcac37bcc23f8c37c5d7e8d1ecb6097efba">SCARD_CANCEL_TRANSACTION</a> = 0x0E, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca9198ad4e3cd0613906124c5243e7c12e">SCARD_GET_ATTRIB</a> = 0x0F, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca068f22e88bd4939797c3c359c9fbf075">SCARD_SET_ATTRIB</a> = 0x10, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca775afaef84c85d8173a20debb1a9e2ef">CMD_VERSION</a> = 0x11, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca192ae79f1c5d3d5f72f2b1c66d0b1cb8">CMD_GET_READERS_STATE</a> = 0x12, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca7afd6740fc03a9c4395de07b6b29ad40">CMD_WAIT_READER_STATE_CHANGE</a> = 0x13, <br />   <a class="el" href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dca0e6dde8afb7713e6973888b536ec7d79">CMD_STOP_WAITING_READER_STATE_CHANGE</a> = 0x14, <br />   <b>CMD_ENUM_LAST</b> <br /> }</td></tr> <tr class="memdesc:add241284f0460327d523aec6e1cd17dc"><td class="mdescLeft"> </td><td class="mdescRight">Commands available to use in the field <code>sharedSegmentMsg.command</code>. <a href="winscard__msg_8h.html#add241284f0460327d523aec6e1cd17dc">More...</a><br /></td></tr> <tr class="separator:add241284f0460327d523aec6e1cd17dc"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a05e2e987d41cf83a2de0948064b9e232"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05e2e987d41cf83a2de0948064b9e232"></a> char * </td><td class="memItemRight" valign="bottom"><b>getSocketName</b> (void)</td></tr> <tr class="separator:a05e2e987d41cf83a2de0948064b9e232"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab19f0d98aa90725ca558be816dab3b59"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#ab19f0d98aa90725ca558be816dab3b59">ClientSetupSession</a> (uint32_t *)</td></tr> <tr class="memdesc:ab19f0d98aa90725ca558be816dab3b59"><td class="mdescLeft"> </td><td class="mdescRight">Prepares a communication channel for the client to talk to the server. <a href="#ab19f0d98aa90725ca558be816dab3b59">More...</a><br /></td></tr> <tr class="separator:ab19f0d98aa90725ca558be816dab3b59"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ac9199c5e346cd4d9729e190d9ae0e8"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a3ac9199c5e346cd4d9729e190d9ae0e8">ClientCloseSession</a> (uint32_t)</td></tr> <tr class="memdesc:a3ac9199c5e346cd4d9729e190d9ae0e8"><td class="mdescLeft"> </td><td class="mdescRight">Closes the socket used by the client to communicate with the server. <a href="#a3ac9199c5e346cd4d9729e190d9ae0e8">More...</a><br /></td></tr> <tr class="separator:a3ac9199c5e346cd4d9729e190d9ae0e8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a22b2a083527da552444a3b9069b815ad"><td class="memItemLeft" align="right" valign="top">LONG </td><td class="memItemRight" valign="bottom"><a class="el" href="winscard__msg_8h.html#a22b2a083527da552444a3b9069b815ad">MessageReceiveTimeout</a> (uint32_t command, void *buffer, uint64_t buffer_size, int32_t filedes, long timeOut)</td></tr> <tr class="memdesc:a22b2a083527da552444a3b9069b815ad"><td class="mdescLeft"> </td><td class="mdescRight">Called by the Client to get the reponse from the server or vice-versa. <a href="#a22b2a083527da552444a3b9069b815ad">More...</a><br /></td></tr> <tr class="separator:a22b2a083527da552444a3b9069b815ad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5bb74102a7d2387f14d7341f1894ee3e"><td class="memItemLeft" align="right" valign="top">LONG </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 class="memdesc:a5bb74102a7d2387f14d7341f1894ee3e"><td class="mdescLeft"> </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">More...</a><br /></td></tr> <tr class="separator:a5bb74102a7d2387f14d7341f1894ee3e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a05d22dbf58a6d7ab9b0c1ae77049f533"><td class="memItemLeft" align="right" valign="top">LONG </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 class="memdesc:a05d22dbf58a6d7ab9b0c1ae77049f533"><td class="mdescLeft"> </td><td class="mdescRight">Sends a menssage from client to server or vice-versa. <a href="#a05d22dbf58a6d7ab9b0c1ae77049f533">More...</a><br /></td></tr> <tr class="separator:a05d22dbf58a6d7ab9b0c1ae77049f533"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a081a9b923dff2a0a831b604dd7d1267b"><td class="memItemLeft" align="right" valign="top">LONG </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 class="memdesc:a081a9b923dff2a0a831b604dd7d1267b"><td class="mdescLeft"> </td><td class="mdescRight">Called by the Client to get the reponse from the server or vice-versa. <a href="#a081a9b923dff2a0a831b604dd7d1267b">More...</a><br /></td></tr> <tr class="separator:a081a9b923dff2a0a831b604dd7d1267b"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">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><h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="add241284f0460327d523aec6e1cd17dc"></a> <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> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dcaf90d9882a83562f678f57ce8de9a51a1"></a>SCARD_ESTABLISH_CONTEXT </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca072877189b15a07bbc7918a7fdd2a573"></a>SCARD_RELEASE_CONTEXT </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dcab75cb198a0e9a3137f28e63330d42d9b"></a>SCARD_LIST_READERS </td><td class="fielddoc"> <p>used by <a class="el" href="group__API.html#ga93b07815789b3cf2629d439ecf20f0d9" title="Returns a list of currently available readers on the system. ">SCardListReaders()</a> </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dcae4539f439555e7f577f08de789fd4e2c"></a>SCARD_CONNECT </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca8b46439f3998639c1935c51fb984794f"></a>SCARD_RECONNECT </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca014966b0829c1dd57df6c62a53c7c9f0"></a>SCARD_DISCONNECT </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dcaa49e6ed0bf4f1b9fe85c23699fdac94c"></a>SCARD_BEGIN_TRANSACTION </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dcac03f9c354d75ab9e5b53d0af82b2f7ff"></a>SCARD_END_TRANSACTION </td><td class="fielddoc"> <p>used by <a class="el" href="group__API.html#gae8742473b404363e5c587f570d7e2f3b" title="Ends a previously begun transaction. ">SCardEndTransaction()</a> </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dcaaa1c43a9cc7497df780b9e5a81a3abcb"></a>SCARD_TRANSMIT </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca50f40e02c69625cb2e03e7094ce9d8b1"></a>SCARD_CONTROL </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca8dd333ed3f05b986c67abbd6291d4188"></a>SCARD_STATUS </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca48979952e37fda999c909f6e737b6980"></a>SCARD_GET_STATUS_CHANGE </td><td class="fielddoc"> <p>not used </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dcac0d6cd84c358c5f349cf40f4235791d0"></a>SCARD_CANCEL </td><td class="fielddoc"> <p>used by <a class="el" href="group__API.html#gaacbbc0c6d6c0cbbeb4f4debf6fbeeee6" title="Cancels all pending blocking requests on the SCardGetStatusChange() function. ">SCardCancel()</a> </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dcac37bcc23f8c37c5d7e8d1ecb6097efba"></a>SCARD_CANCEL_TRANSACTION </td><td class="fielddoc"> <p>not used </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca9198ad4e3cd0613906124c5243e7c12e"></a>SCARD_GET_ATTRIB </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca068f22e88bd4939797c3c359c9fbf075"></a>SCARD_SET_ATTRIB </td><td class="fielddoc"> <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 class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca775afaef84c85d8173a20debb1a9e2ef"></a>CMD_VERSION </td><td class="fielddoc"> <p>get the client/server protocol version </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca192ae79f1c5d3d5f72f2b1c66d0b1cb8"></a>CMD_GET_READERS_STATE </td><td class="fielddoc"> <p>get the readers state </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca7afd6740fc03a9c4395de07b6b29ad40"></a>CMD_WAIT_READER_STATE_CHANGE </td><td class="fielddoc"> <p>wait for a reader state change </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="add241284f0460327d523aec6e1cd17dca0e6dde8afb7713e6973888b536ec7d79"></a>CMD_STOP_WAITING_READER_STATE_CHANGE </td><td class="fielddoc"> <p>stop waiting for a reader state change </p> </td></tr> </table> <p>Definition at line <a class="el" href="winscard__msg_8h_source.html#l00078">78</a> of file <a class="el" href="winscard__msg_8h_source.html">winscard_msg.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a3ac9199c5e346cd4d9729e190d9ae0e8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int32_t ClientCloseSession </td> <td>(</td> <td class="paramtype">uint32_t </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 class="params"><dt>Parameters</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 class="retval"><dt>Return values</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#l00171">171</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#l03225">SCardCancel()</a>.</p> </div> </div> <a class="anchor" id="ab19f0d98aa90725ca558be816dab3b59"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int32_t ClientSetupSession </td> <td>(</td> <td class="paramtype">uint32_t * </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 class="params"><dt>Parameters</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 class="retval"><dt>Return values</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#l00116">116</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#l03225">SCardCancel()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l00502">SCardEstablishContextTH()</a>.</p> </div> </div> <a class="anchor" id="a081a9b923dff2a0a831b604dd7d1267b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">LONG MessageReceive </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>buffer_void</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint64_t </td> <td class="paramname"><em>buffer_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>filedes</em> </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 class="params"><dt>Parameters</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 class="retval"><dt>Return values</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#l00448">448</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#l00125">SCARD_F_COMM_ERROR</a>, and <a class="el" href="pcsclite_8h_source.html#l00106">SCARD_S_SUCCESS</a>.</p> <p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l01165">SCardBeginTransaction()</a>, <a class="el" href="winscard__clnt_8c_source.html#l03225">SCardCancel()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00780">SCardConnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l02295">SCardControl()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01058">SCardDisconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01282">SCardEndTransaction()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00502">SCardEstablishContextTH()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01737">SCardGetStatusChange()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00944">SCardReconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00654">SCardReleaseContext()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01447">SCardStatus()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l02749">SCardTransmit()</a>.</p> </div> </div> <a class="anchor" id="a22b2a083527da552444a3b9069b815ad"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">LONG MessageReceiveTimeout </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>command</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>buffer_void</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint64_t </td> <td class="paramname"><em>buffer_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>filedes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </td> <td class="paramname"><em>timeOut</em> </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 class="params"><dt>Parameters</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 class="retval"><dt>Return values</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#l00192">192</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#l00116">SCARD_E_TIMEOUT</a>, <a class="el" href="pcsclite_8h_source.html#l00125">SCARD_F_COMM_ERROR</a>, <a class="el" href="pcsclite_8h_source.html#l00106">SCARD_S_SUCCESS</a>, <a class="el" href="winscard__clnt_8c_source.html#l03622">SCardCheckDaemonAvailability()</a>, and <a class="el" href="utils_8c_source.html#l00140">time_sub()</a>.</p> <p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l01737">SCardGetStatusChange()</a>.</p> </div> </div> <a class="anchor" id="a05d22dbf58a6d7ab9b0c1ae77049f533"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">LONG MessageSend </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>buffer_void</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint64_t </td> <td class="paramname"><em>buffer_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>filedes</em> </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 class="params"><dt>Parameters</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 class="retval"><dt>Return values</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#l00350">350</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#l00135">SCARD_E_NO_SERVICE</a>, <a class="el" href="pcsclite_8h_source.html#l00116">SCARD_E_TIMEOUT</a>, <a class="el" href="pcsclite_8h_source.html#l00125">SCARD_F_COMM_ERROR</a>, and <a class="el" href="pcsclite_8h_source.html#l00106">SCARD_S_SUCCESS</a>.</p> <p>Referenced by <a class="el" href="winscard__msg_8c_source.html#l00314">MessageSendWithHeader()</a>, <a class="el" href="winscard__clnt_8c_source.html#l02295">SCardControl()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l02749">SCardTransmit()</a>.</p> </div> </div> <a class="anchor" id="a5bb74102a7d2387f14d7341f1894ee3e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">LONG MessageSendWithHeader </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>command</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>dwClientID</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint64_t </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data_void</em> </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 class="params"><dt>Parameters</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="section return"><dt>Returns</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#l00314">314</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#l00072">rxHeader::command</a>, <a class="el" href="winscard__msg_8c_source.html#l00350">MessageSend()</a>, and <a class="el" href="winscard__msg_8h_source.html#l00071">rxHeader::size</a>.</p> <p>Referenced by <a class="el" href="winscard__clnt_8c_source.html#l01165">SCardBeginTransaction()</a>, <a class="el" href="winscard__clnt_8c_source.html#l03225">SCardCancel()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00780">SCardConnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l02295">SCardControl()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01058">SCardDisconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01282">SCardEndTransaction()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00502">SCardEstablishContextTH()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01737">SCardGetStatusChange()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00944">SCardReconnect()</a>, <a class="el" href="winscard__clnt_8c_source.html#l00654">SCardReleaseContext()</a>, <a class="el" href="winscard__clnt_8c_source.html#l01447">SCardStatus()</a>, and <a class="el" href="winscard__clnt_8c_source.html#l02749">SCardTransmit()</a>.</p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Wed Oct 15 2014 11:57:56 for pcsc-lite by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.8 </small></address> </body> </html>