<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>pcsc-lite: pcsclite.h Source File</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 id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">pcsc-lite  <span id="projectnumber">1.8.26</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_19ab2ef736866f18cbeac227237bb8d6.html">PCSC</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">pcsclite.h</div> </div> </div><!--header--> <div class="contents"> <a href="pcsclite_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright (C) 1999-2004</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * David Corcoran <corcoran@musclecard.com></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * Copyright (C) 2002-2011</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Ludovic Rousseau <ludovic.rousseau@free.fr></span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * Copyright (C) 2005</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * Martin Paljak <martin@paljak.pri.ee></span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">modification, are permitted provided that the following conditions</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">are met:</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"></span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">1. Redistributions of source code must retain the above copyright</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> notice, this list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> notice, this list of conditions and the following disclaimer in the</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> documentation and/or other materials provided with the distribution.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">3. The name of the author may not be used to endorse or promote products</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> derived from this software without specific prior written permission.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"></span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> */</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#ifndef __pcsclite_h__</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define __pcsclite_h__</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <<a class="code" href="wintypes_8h.html">wintypes.h</a>></span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a22530ffaff18b5d3e32260a5f1ce4abd"> 52</a></span> <span class="keyword">typedef</span> LONG <a class="code" href="pcsclite_8h.html#a22530ffaff18b5d3e32260a5f1ce4abd">SCARDCONTEXT</a>; </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">typedef</span> <a class="code" href="pcsclite_8h.html#a22530ffaff18b5d3e32260a5f1ce4abd">SCARDCONTEXT</a> *PSCARDCONTEXT;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">typedef</span> <a class="code" href="pcsclite_8h.html#a22530ffaff18b5d3e32260a5f1ce4abd">SCARDCONTEXT</a> *LPSCARDCONTEXT;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#af328aca3e11de737ecd771bcf1f75fb5"> 55</a></span> <span class="keyword">typedef</span> LONG <a class="code" href="pcsclite_8h.html#af328aca3e11de737ecd771bcf1f75fb5">SCARDHANDLE</a>; </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">typedef</span> <a class="code" href="pcsclite_8h.html#af328aca3e11de737ecd771bcf1f75fb5">SCARDHANDLE</a> *PSCARDHANDLE;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">typedef</span> <a class="code" href="pcsclite_8h.html#af328aca3e11de737ecd771bcf1f75fb5">SCARDHANDLE</a> *LPSCARDHANDLE;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a7ac7915ff6f9baefa66886c98bdbb91e"> 59</a></span> <span class="preprocessor">#define MAX_ATR_SIZE 33 </span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="comment">/* Set structure elements aligment on bytes</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * http://gcc.gnu.org/onlinedocs/gcc/Structure_002dPacking-Pragmas.html */</span><span class="preprocessor"></span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#ifdef __APPLE__</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#pragma pack(1)</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structSCARD__READERSTATE.html"> 67</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *szReader;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordtype">void</span> *pvUserData;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  DWORD dwCurrentState;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  DWORD dwEventState;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  DWORD cbAtr;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> rgbAtr[<a class="code" href="pcsclite_8h.html#a7ac7915ff6f9baefa66886c98bdbb91e">MAX_ATR_SIZE</a>];</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <a class="code" href="structSCARD__READERSTATE.html">SCARD_READERSTATE</a>, *<a class="code" href="structSCARD__READERSTATE.html">LPSCARD_READERSTATE</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structSCARD__IO__REQUEST.html"> 79</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> {</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structSCARD__IO__REQUEST.html#a06a981d5eb5bae479767d77641d50002"> 81</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="structSCARD__IO__REQUEST.html#a06a981d5eb5bae479767d77641d50002">dwProtocol</a>; </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structSCARD__IO__REQUEST.html#a90993ce745546245b494a35a9559a083"> 82</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="structSCARD__IO__REQUEST.html#a90993ce745546245b494a35a9559a083">cbPciLength</a>; </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <a class="code" href="structSCARD__IO__REQUEST.html">SCARD_IO_REQUEST</a>, *<a class="code" href="structSCARD__IO__REQUEST.html">PSCARD_IO_REQUEST</a>, *<a class="code" href="structSCARD__IO__REQUEST.html">LPSCARD_IO_REQUEST</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="structSCARD__IO__REQUEST.html">SCARD_IO_REQUEST</a> *<a class="code" href="structSCARD__IO__REQUEST.html">LPCSCARD_IO_REQUEST</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="structSCARD__IO__REQUEST.html">SCARD_IO_REQUEST</a> <a class="code" href="pcsclite_8h.html#afe8d153f13de3ab5b06b39f0bcc932a8">g_rgSCardT0Pci</a>, <a class="code" href="pcsclite_8h.html#a0c17d8d94e003302edffd12946269413">g_rgSCardT1Pci</a>, <a class="code" href="pcsclite_8h.html#a40eb99a884c8e5d776cbb5365f23c4f5">g_rgSCardRawPci</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/* restore default structure elements alignment */</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor">#ifdef __APPLE__</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor">#pragma pack()</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#afe9c9747a9359719e1094e2754580a9a"> 95</a></span> <span class="preprocessor">#define SCARD_PCI_T0 (&g_rgSCardT0Pci) </span></div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ae07c084592ce8e0ae24384d93bd026e7"> 96</a></span> <span class="preprocessor">#define SCARD_PCI_T1 (&g_rgSCardT1Pci) </span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a884ba9fa57faa3e2537b4dafc9fe8b11"> 97</a></span> <span class="preprocessor">#define SCARD_PCI_RAW (&g_rgSCardRawPci) </span></div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga4a3c56f69570971d366642a563b34a75"> 107</a></span> <span class="preprocessor">#define SCARD_S_SUCCESS ((LONG)0x00000000) </span></div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga081a564acaf166f74592906f7dff2d86"> 109</a></span> <span class="preprocessor">#define SCARD_F_INTERNAL_ERROR ((LONG)0x80100001) </span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga48cf91681fb2c14902bd41888cb5cf08"> 111</a></span> <span class="preprocessor">#define SCARD_E_CANCELLED ((LONG)0x80100002) </span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga05bdea2f2341e78d920885d1cc357676"> 113</a></span> <span class="preprocessor">#define SCARD_E_INVALID_HANDLE ((LONG)0x80100003) </span></div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga47a6da10ec4ea2cbebfcc4b2a93d786f"> 115</a></span> <span class="preprocessor">#define SCARD_E_INVALID_PARAMETER ((LONG)0x80100004) </span></div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga37b498229179904babd93afd6e3c03d0"> 117</a></span> <span class="preprocessor">#define SCARD_E_INVALID_TARGET ((LONG)0x80100005) </span></div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga81694393a1494d5091145734a2f0b36c"> 119</a></span> <span class="preprocessor">#define SCARD_E_NO_MEMORY ((LONG)0x80100006) </span></div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gaa27c83c6206e99f70e3245dde0ea3d13"> 121</a></span> <span class="preprocessor">#define SCARD_F_WAITED_TOO_LONG ((LONG)0x80100007) </span></div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gaac3f8d945f8a0e667e0926daaa18dc57"> 123</a></span> <span class="preprocessor">#define SCARD_E_INSUFFICIENT_BUFFER ((LONG)0x80100008) </span></div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga1bc24e84bfe33ef68be7251e2423190a"> 125</a></span> <span class="preprocessor">#define SCARD_E_UNKNOWN_READER ((LONG)0x80100009) </span></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gaa01265b3f55d4f18cdeb4f9cd736b508"> 127</a></span> <span class="preprocessor">#define SCARD_E_TIMEOUT ((LONG)0x8010000A) </span></div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga81cd3fc9e7e84c66be2471294152235f"> 129</a></span> <span class="preprocessor">#define SCARD_E_SHARING_VIOLATION ((LONG)0x8010000B) </span></div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gaaf69330d6d119872ef76ae81c6b826db"> 131</a></span> <span class="preprocessor">#define SCARD_E_NO_SMARTCARD ((LONG)0x8010000C) </span></div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gadf23d3987de9c052ac5270feb7fedd02"> 133</a></span> <span class="preprocessor">#define SCARD_E_UNKNOWN_CARD ((LONG)0x8010000D) </span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga4dce3229ccced27e83dc55666024201c"> 135</a></span> <span class="preprocessor">#define SCARD_E_CANT_DISPOSE ((LONG)0x8010000E) </span></div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga36d821a0458f935ddbe345f10408a988"> 137</a></span> <span class="preprocessor">#define SCARD_E_PROTO_MISMATCH ((LONG)0x8010000F) </span></div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gaad8800bcf34cd97d4a4b0c3fbd3d955e"> 139</a></span> <span class="preprocessor">#define SCARD_E_NOT_READY ((LONG)0x80100010) </span></div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga9ece9fd9e68e4f802e16e951f8f2a642"> 141</a></span> <span class="preprocessor">#define SCARD_E_INVALID_VALUE ((LONG)0x80100011) </span></div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gafac3f9a28c745c434ea73d416041b9e5"> 143</a></span> <span class="preprocessor">#define SCARD_E_SYSTEM_CANCELLED ((LONG)0x80100012) </span></div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga93d3cf468d69423eab1d478a7a870408"> 145</a></span> <span class="preprocessor">#define SCARD_F_COMM_ERROR ((LONG)0x80100013) </span></div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga27abb2c7397e0b23939cf216111d4e9a"> 147</a></span> <span class="preprocessor">#define SCARD_F_UNKNOWN_ERROR ((LONG)0x80100014) </span></div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gad0df4eb97723df11170751f91c537893"> 149</a></span> <span class="preprocessor">#define SCARD_E_INVALID_ATR ((LONG)0x80100015) </span></div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gab02a33c2ef61f12a851dfe85c575d7cc"> 151</a></span> <span class="preprocessor">#define SCARD_E_NOT_TRANSACTED ((LONG)0x80100016) </span></div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gad70bc694ffdf40c3b494d9239160d69d"> 153</a></span> <span class="preprocessor">#define SCARD_E_READER_UNAVAILABLE ((LONG)0x80100017) </span></div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga2d48224040cd5fc94921aed37efebff6"> 155</a></span> <span class="preprocessor">#define SCARD_P_SHUTDOWN ((LONG)0x80100018) </span></div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga47505641191236c5e46afcd4a74ad1ae"> 157</a></span> <span class="preprocessor">#define SCARD_E_PCI_TOO_SMALL ((LONG)0x80100019) </span></div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga0d2e5857f22e108a8cb8e6ea18cd82cf"> 159</a></span> <span class="preprocessor">#define SCARD_E_READER_UNSUPPORTED ((LONG)0x8010001A) </span></div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga83cb6a41253c9489393d67eee14fc698"> 161</a></span> <span class="preprocessor">#define SCARD_E_DUPLICATE_READER ((LONG)0x8010001B) </span></div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga118d0e1151d8e2ebde37bc2cf7232f1a"> 163</a></span> <span class="preprocessor">#define SCARD_E_CARD_UNSUPPORTED ((LONG)0x8010001C) </span></div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gad4729ab109ff490285d2ad881c04bee8"> 165</a></span> <span class="preprocessor">#define SCARD_E_NO_SERVICE ((LONG)0x8010001D) </span></div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga262c34297ab1b65db1c9516ccc0dd9a0"> 167</a></span> <span class="preprocessor">#define SCARD_E_SERVICE_STOPPED ((LONG)0x8010001E) </span></div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga05c6d9b6f2bf618209d6d7237470865e"> 169</a></span> <span class="preprocessor">#define SCARD_E_UNEXPECTED ((LONG)0x8010001F) </span></div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gaef39984cd0dd3822088099fffd9d5f96"> 171</a></span> <span class="preprocessor">#define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x8010001F) </span></div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gae3a62d60a6b932e44b3de03448c4e5f1"> 173</a></span> <span class="preprocessor">#define SCARD_E_ICC_INSTALLATION ((LONG)0x80100020) </span></div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga6efa4915e7d776132bd590784f959046"> 175</a></span> <span class="preprocessor">#define SCARD_E_ICC_CREATEORDER ((LONG)0x80100021) </span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"></span><span class="comment">/* #define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x80100022) / **< This smart card does not support the requested feature. */</span><span class="preprocessor"></span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gae04cbf24714e853c6e6c00b57bf59473"> 179</a></span> <span class="preprocessor">#define SCARD_E_DIR_NOT_FOUND ((LONG)0x80100023) </span></div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga441ede7c429ef6ce9d202a670e500020"> 181</a></span> <span class="preprocessor">#define SCARD_E_FILE_NOT_FOUND ((LONG)0x80100024) </span></div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga1ed14750b7b1ee4db7478611827174ce"> 183</a></span> <span class="preprocessor">#define SCARD_E_NO_DIR ((LONG)0x80100025) </span></div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga373115198103dd0392d2ae23ae191fa0"> 185</a></span> <span class="preprocessor">#define SCARD_E_NO_FILE ((LONG)0x80100026) </span></div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga55253684cb8c6e229579acd9b97b1970"> 187</a></span> <span class="preprocessor">#define SCARD_E_NO_ACCESS ((LONG)0x80100027) </span></div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga39f07a1cac212987d6df21f244f67b3a"> 189</a></span> <span class="preprocessor">#define SCARD_E_WRITE_TOO_MANY ((LONG)0x80100028) </span></div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga31d139e6c676cd2fab0623ae21ab70ef"> 191</a></span> <span class="preprocessor">#define SCARD_E_BAD_SEEK ((LONG)0x80100029) </span></div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga0955ddac6368e6105150bb6add8b9320"> 193</a></span> <span class="preprocessor">#define SCARD_E_INVALID_CHV ((LONG)0x8010002A) </span></div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gaf11b8f794724a6d21abeb18f088ee8e9"> 195</a></span> <span class="preprocessor">#define SCARD_E_UNKNOWN_RES_MNG ((LONG)0x8010002B) </span></div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga19e74f9695b9dd8cf4746373b28cb852"> 197</a></span> <span class="preprocessor">#define SCARD_E_NO_SUCH_CERTIFICATE ((LONG)0x8010002C) </span></div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga207c5669744d92d4d7cbcff0a9db3b47"> 199</a></span> <span class="preprocessor">#define SCARD_E_CERTIFICATE_UNAVAILABLE ((LONG)0x8010002D) </span></div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga81b59e9319d3fcd0d957d98781b3ebd2"> 201</a></span> <span class="preprocessor">#define SCARD_E_NO_READERS_AVAILABLE ((LONG)0x8010002E) </span></div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gad8bbd25d5791876ea8a96cb66da7dea4"> 203</a></span> <span class="preprocessor">#define SCARD_E_COMM_DATA_LOST ((LONG)0x8010002F) </span></div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga9d412a6d797af06cb40268be8669910f"> 205</a></span> <span class="preprocessor">#define SCARD_E_NO_KEY_CONTAINER ((LONG)0x80100030) </span></div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga0cad65478994dabce2f49cbfad2ab27f"> 207</a></span> <span class="preprocessor">#define SCARD_E_SERVER_TOO_BUSY ((LONG)0x80100031) </span></div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gad85c133e557498eb50ce9992e0568de9"> 210</a></span> <span class="preprocessor">#define SCARD_W_UNSUPPORTED_CARD ((LONG)0x80100065) </span></div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga359a9e85e3b7c83c76507a096452b74f"> 212</a></span> <span class="preprocessor">#define SCARD_W_UNRESPONSIVE_CARD ((LONG)0x80100066) </span></div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gad7d27393bc1ba813e6f9042fe8e9eca7"> 214</a></span> <span class="preprocessor">#define SCARD_W_UNPOWERED_CARD ((LONG)0x80100067) </span></div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga20fbb8319646f26c4ad7f237d1a64f0c"> 216</a></span> <span class="preprocessor">#define SCARD_W_RESET_CARD ((LONG)0x80100068) </span></div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gaa2efd953946973972b1afc5d0343820c"> 218</a></span> <span class="preprocessor">#define SCARD_W_REMOVED_CARD ((LONG)0x80100069) </span></div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga0d616d40f6989a3aa7a6a2b6d8ff8e8f"> 221</a></span> <span class="preprocessor">#define SCARD_W_SECURITY_VIOLATION ((LONG)0x8010006A) </span></div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga2f7bec7c8bf141cde74bc89b1dddd270"> 223</a></span> <span class="preprocessor">#define SCARD_W_WRONG_CHV ((LONG)0x8010006B) </span></div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#gab5aef3f176bec46265acd5bfa4dcea9e"> 225</a></span> <span class="preprocessor">#define SCARD_W_CHV_BLOCKED ((LONG)0x8010006C) </span></div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga856792395314fea178aac05205697555"> 227</a></span> <span class="preprocessor">#define SCARD_W_EOF ((LONG)0x8010006D) </span></div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga265eddf5d6c9d2e961e830a547aa7db2"> 229</a></span> <span class="preprocessor">#define SCARD_W_CANCELLED_BY_USER ((LONG)0x8010006E) </span></div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="group__ErrorCodes.html#ga0223d2a761748ebe1753c094e180fdc0"> 231</a></span> <span class="preprocessor">#define SCARD_W_CARD_NOT_AUTHENTICATED ((LONG)0x8010006F) </span></div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a67db0943aeb13f9f468eaae39b5ff1b0"> 233</a></span> <span class="preprocessor">#define SCARD_AUTOALLOCATE (DWORD)(-1) </span></div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a4476ec1c5ae384961f0f059fa28fb1dc"> 234</a></span> <span class="preprocessor">#define SCARD_SCOPE_USER 0x0000 </span></div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a82f7392ae7f5e6702940d7fc64854dc2"> 235</a></span> <span class="preprocessor">#define SCARD_SCOPE_TERMINAL 0x0001 </span></div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a01ffeed2d7fac470371c79fa86b1e309"> 236</a></span> <span class="preprocessor">#define SCARD_SCOPE_SYSTEM 0x0002 </span></div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a44e87b3c0cca8a029dd654f0432f34e8"> 237</a></span> <span class="preprocessor">#define SCARD_SCOPE_GLOBAL 0x0003 </span></div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a3b42ca2bc25ec7ff3211a25110b4fc60"> 239</a></span> <span class="preprocessor">#define SCARD_PROTOCOL_UNDEFINED 0x0000 </span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor">#define SCARD_PROTOCOL_UNSET SCARD_PROTOCOL_UNDEFINED </span><span class="comment">/* backward compat */</span><span class="preprocessor"></span></div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a4fe95267c322c3bf35f30fab6b25526c"> 241</a></span> <span class="preprocessor">#define SCARD_PROTOCOL_T0 0x0001 </span></div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a3c09cd155e07044f857130c183d64f03"> 242</a></span> <span class="preprocessor">#define SCARD_PROTOCOL_T1 0x0002 </span></div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ab58a85ece18f4217fe5372981231d195"> 243</a></span> <span class="preprocessor">#define SCARD_PROTOCOL_RAW 0x0004 </span></div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ad643c6c586c599dc5f6bd78ff13a2a53"> 244</a></span> <span class="preprocessor">#define SCARD_PROTOCOL_T15 0x0008 </span></div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ad3896343af44a54d232d407719abad95"> 246</a></span> <span class="preprocessor">#define SCARD_PROTOCOL_ANY (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1) </span></div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#aedc5ddb6c12dd0e9f522d4c669ca9135"> 248</a></span> <span class="preprocessor">#define SCARD_SHARE_EXCLUSIVE 0x0001 </span></div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a724a33782fe519553f1e05ee77940f6f"> 249</a></span> <span class="preprocessor">#define SCARD_SHARE_SHARED 0x0002 </span></div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a440c31d5b68fda7dfe8f87f5ffe47bef"> 250</a></span> <span class="preprocessor">#define SCARD_SHARE_DIRECT 0x0003 </span></div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#acf43bd7f99fbd970f331fc36ffbe8ca5"> 252</a></span> <span class="preprocessor">#define SCARD_LEAVE_CARD 0x0000 </span></div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a07feb710d597835d1afc5cfd2ef6ecef"> 253</a></span> <span class="preprocessor">#define SCARD_RESET_CARD 0x0001 </span></div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a6f4f7f74e35ab4269f08381c967ee97b"> 254</a></span> <span class="preprocessor">#define SCARD_UNPOWER_CARD 0x0002 </span></div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a6d6346c6e1a1491965bb9ebe8ed02a95"> 255</a></span> <span class="preprocessor">#define SCARD_EJECT_CARD 0x0003 </span></div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a91be8317d47fab4b3eac201850fa917f"> 257</a></span> <span class="preprocessor">#define SCARD_UNKNOWN 0x0001 </span></div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a8108c39f71de4ea806b0a411eb9906ab"> 258</a></span> <span class="preprocessor">#define SCARD_ABSENT 0x0002 </span></div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a4d99b1aacfcda4e1a36198f5668ae520"> 259</a></span> <span class="preprocessor">#define SCARD_PRESENT 0x0004 </span></div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a0feed8b3b5ce43d1411359a9b0a3d78c"> 260</a></span> <span class="preprocessor">#define SCARD_SWALLOWED 0x0008 </span></div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a73c52c7df905c748f00b22c88827d65a"> 261</a></span> <span class="preprocessor">#define SCARD_POWERED 0x0010 </span></div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#af261075b3c31cd33def0d5af9eaed921"> 262</a></span> <span class="preprocessor">#define SCARD_NEGOTIABLE 0x0020 </span></div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#af4eb99171c14cab34222d4a4a5d2a5be"> 263</a></span> <span class="preprocessor">#define SCARD_SPECIFIC 0x0040 </span></div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ae73c6e4ff31781d4358b93bbde952cfe"> 265</a></span> <span class="preprocessor">#define SCARD_STATE_UNAWARE 0x0000 </span></div><div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a0bfdd63120b09223fd4fed4884cbfeec"> 266</a></span> <span class="preprocessor">#define SCARD_STATE_IGNORE 0x0001 </span></div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#abd53085c631a1bade0fb5e974de90d48"> 267</a></span> <span class="preprocessor">#define SCARD_STATE_CHANGED 0x0002 </span></div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a96ab0fac1bb56525c5f216428e7dd8e7"> 268</a></span> <span class="preprocessor">#define SCARD_STATE_UNKNOWN 0x0004 </span></div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a781e4a27c9512c19935e3addaeaa152f"> 269</a></span> <span class="preprocessor">#define SCARD_STATE_UNAVAILABLE 0x0008 </span></div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#aadf7badda42d372c2bc56d95a7720535"> 270</a></span> <span class="preprocessor">#define SCARD_STATE_EMPTY 0x0010 </span></div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a78d2639a9716b6b27f4d516e43470f8f"> 271</a></span> <span class="preprocessor">#define SCARD_STATE_PRESENT 0x0020 </span></div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ab294bb6ccdc6bb035473a3f01697ed12"> 272</a></span> <span class="preprocessor">#define SCARD_STATE_ATRMATCH 0x0040 </span></div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ae371f8ad287d26aceb591537189f962a"> 273</a></span> <span class="preprocessor">#define SCARD_STATE_EXCLUSIVE 0x0080 </span></div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a56b01a133df54d0ca651b1541a7f11d5"> 274</a></span> <span class="preprocessor">#define SCARD_STATE_INUSE 0x0100 </span></div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#aba849aaf01b436d511218b18d96caf83"> 275</a></span> <span class="preprocessor">#define SCARD_STATE_MUTE 0x0200 </span></div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a229b7288014a08b19adade7afdc16377"> 276</a></span> <span class="preprocessor">#define SCARD_STATE_UNPOWERED 0x0400 </span></div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="preprocessor">#ifndef INFINITE</span></div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#aa84a29002ab81c719c0d07bb446296e0"> 279</a></span> <span class="preprocessor">#define INFINITE 0xFFFFFFFF </span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ad560794e3234b0037793846f04e3b07d"> 282</a></span> <span class="preprocessor">#define PCSCLITE_VERSION_NUMBER "1.8.26" </span></div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#af750e6e22c809de2b523c17e4a092036"> 284</a></span> <span class="preprocessor">#define PCSCLITE_MAX_READERS_CONTEXTS 16</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="preprocessor">#define MAX_READERNAME 128</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="preprocessor">#ifndef SCARD_ATR_LENGTH</span></div><div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#a24f9ac3acf22aa4a70fe7ba1a1546bae"> 289</a></span> <span class="preprocessor">#define SCARD_ATR_LENGTH MAX_ATR_SIZE </span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">/*</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"> * The message and buffer sizes must be multiples of 16.</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"> * The max message size must be at least large enough</span></div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> * to accomodate the transmit_struct</span></div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> */</span></div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ad4d796b98c583d49e83adabd74a63bf6"> 297</a></span> <span class="preprocessor">#define MAX_BUFFER_SIZE 264 </span></div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="pcsclite_8h.html#ae128d4b6df34e2dfdb6216b31bae2cc6"> 298</a></span> <span class="preprocessor">#define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3 + 2) </span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor"></span><span class="comment">/*</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> * Gets a stringified error response</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> */</span><span class="preprocessor"></span></div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__API.html#gaacf18ba26d68b7402003725a710e83f2">pcsc_stringify_error</a>(<span class="keyword">const</span> LONG);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor">#endif</span></div><div class="ttc" id="structSCARD__READERSTATE_html"><div class="ttname"><a href="structSCARD__READERSTATE.html">SCARD_READERSTATE</a></div><div class="ttdef"><b>Definition:</b> <a href="pcsclite_8h_source.html#l00067">pcsclite.h:67</a></div></div> <div class="ttc" id="structSCARD__IO__REQUEST_html_a90993ce745546245b494a35a9559a083"><div class="ttname"><a href="structSCARD__IO__REQUEST.html#a90993ce745546245b494a35a9559a083">SCARD_IO_REQUEST::cbPciLength</a></div><div class="ttdeci">unsigned long cbPciLength</div><div class="ttdoc">Protocol Control Inf Length.</div><div class="ttdef"><b>Definition:</b> <a href="pcsclite_8h_source.html#l00082">pcsclite.h:82</a></div></div> <div class="ttc" id="pcsclite_8h_html_a40eb99a884c8e5d776cbb5365f23c4f5"><div class="ttname"><a href="pcsclite_8h.html#a40eb99a884c8e5d776cbb5365f23c4f5">g_rgSCardRawPci</a></div><div class="ttdeci">const SCARD_IO_REQUEST g_rgSCardRawPci</div><div class="ttdoc">Protocol Control Information for raw access.</div><div class="ttdef"><b>Definition:</b> <a href="libpcscspy_8c_source.html#l00732">libpcscspy.c:732</a></div></div> <div class="ttc" id="pcsclite_8h_html_a22530ffaff18b5d3e32260a5f1ce4abd"><div class="ttname"><a href="pcsclite_8h.html#a22530ffaff18b5d3e32260a5f1ce4abd">SCARDCONTEXT</a></div><div class="ttdeci">LONG SCARDCONTEXT</div><div class="ttdoc">hContext returned by SCardEstablishContext()</div><div class="ttdef"><b>Definition:</b> <a href="pcsclite_8h_source.html#l00052">pcsclite.h:52</a></div></div> <div class="ttc" id="structSCARD__IO__REQUEST_html_a06a981d5eb5bae479767d77641d50002"><div class="ttname"><a href="structSCARD__IO__REQUEST.html#a06a981d5eb5bae479767d77641d50002">SCARD_IO_REQUEST::dwProtocol</a></div><div class="ttdeci">unsigned long dwProtocol</div><div class="ttdoc">Protocol identifier.</div><div class="ttdef"><b>Definition:</b> <a href="pcsclite_8h_source.html#l00081">pcsclite.h:81</a></div></div> <div class="ttc" id="pcsclite_8h_html_af328aca3e11de737ecd771bcf1f75fb5"><div class="ttname"><a href="pcsclite_8h.html#af328aca3e11de737ecd771bcf1f75fb5">SCARDHANDLE</a></div><div class="ttdeci">LONG SCARDHANDLE</div><div class="ttdoc">hCard returned by SCardConnect()</div><div class="ttdef"><b>Definition:</b> <a href="pcsclite_8h_source.html#l00055">pcsclite.h:55</a></div></div> <div class="ttc" id="wintypes_8h_html"><div class="ttname"><a href="wintypes_8h.html">wintypes.h</a></div><div class="ttdoc">This keeps a list of Windows(R) types.</div></div> <div class="ttc" id="structSCARD__IO__REQUEST_html"><div class="ttname"><a href="structSCARD__IO__REQUEST.html">SCARD_IO_REQUEST</a></div><div class="ttdoc">Protocol Control Information (PCI)</div><div class="ttdef"><b>Definition:</b> <a href="pcsclite_8h_source.html#l00079">pcsclite.h:79</a></div></div> <div class="ttc" id="group__API_html_gaacf18ba26d68b7402003725a710e83f2"><div class="ttname"><a href="group__API.html#gaacf18ba26d68b7402003725a710e83f2">pcsc_stringify_error</a></div><div class="ttdeci">const char * pcsc_stringify_error(const LONG)</div><div class="ttdoc">Returns a human readable text for the given PC/SC error code.</div><div class="ttdef"><b>Definition:</b> <a href="error_8c_source.html#l00082">error.c:82</a></div></div> <div class="ttc" id="pcsclite_8h_html_a7ac7915ff6f9baefa66886c98bdbb91e"><div class="ttname"><a href="pcsclite_8h.html#a7ac7915ff6f9baefa66886c98bdbb91e">MAX_ATR_SIZE</a></div><div class="ttdeci">#define MAX_ATR_SIZE</div><div class="ttdoc">Maximum ATR size.</div><div class="ttdef"><b>Definition:</b> <a href="pcsclite_8h_source.html#l00059">pcsclite.h:59</a></div></div> <div class="ttc" id="pcsclite_8h_html_a0c17d8d94e003302edffd12946269413"><div class="ttname"><a href="pcsclite_8h.html#a0c17d8d94e003302edffd12946269413">g_rgSCardT1Pci</a></div><div class="ttdeci">const SCARD_IO_REQUEST g_rgSCardT1Pci</div><div class="ttdoc">Protocol Control Information for T=1.</div><div class="ttdef"><b>Definition:</b> <a href="libpcscspy_8c_source.html#l00731">libpcscspy.c:731</a></div></div> <div class="ttc" id="pcsclite_8h_html_afe8d153f13de3ab5b06b39f0bcc932a8"><div class="ttname"><a href="pcsclite_8h.html#afe8d153f13de3ab5b06b39f0bcc932a8">g_rgSCardT0Pci</a></div><div class="ttdeci">const SCARD_IO_REQUEST g_rgSCardT0Pci</div><div class="ttdoc">Protocol Control Information for T=0.</div><div class="ttdef"><b>Definition:</b> <a href="libpcscspy_8c_source.html#l00730">libpcscspy.c:730</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Wed Jan 8 2020 17:42:33 for pcsc-lite by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.15 </small></address> </body> </html>