<!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: ifdhandler.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">ifdhandler.h</div> </div> </div><!--header--> <div class="contents"> <a href="ifdhandler_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) 2003-2004</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Damien Sauveron <damien.sauveron@labri.fr></span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * Copyright (C) 2002-2011</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * Ludovic Rousseau <ludovic.rousseau@free.fr></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="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#ifndef _ifd_handler_h_</span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor">#define _ifd_handler_h_</span></div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor">#include <<a class="code" href="pcsclite_8h.html">pcsclite.h</a>></span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="comment">/*</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> * List of data structures available to ifdhandler</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> */</span></div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html"> 259</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__DEVICE__CAPABILITIES.html">_DEVICE_CAPABILITIES</a></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  {</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a21887226302077808af869013e839234"> 261</a></span>  LPSTR <a class="code" href="struct__DEVICE__CAPABILITIES.html#a21887226302077808af869013e839234">Vendor_Name</a>; </div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#ac6c398ec8ba266fdc799d0465a800e8e"> 262</a></span>  LPSTR <a class="code" href="struct__DEVICE__CAPABILITIES.html#ac6c398ec8ba266fdc799d0465a800e8e">IFD_Type</a>; </div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a227146ff8ca274f3438e8fa5cd75fff0"> 263</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a227146ff8ca274f3438e8fa5cd75fff0">IFD_Version</a>; </div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#add55b738f83e83e059bd57a4532b6227"> 264</a></span>  LPSTR <a class="code" href="struct__DEVICE__CAPABILITIES.html#add55b738f83e83e059bd57a4532b6227">IFD_Serial</a>; </div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a9d8cb7be5aefa94b894154eaa8e40968"> 265</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a9d8cb7be5aefa94b894154eaa8e40968">IFD_Channel_ID</a>; </div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#acae2c1765a512171de17ad635360e596"> 267</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#acae2c1765a512171de17ad635360e596">Asynch_Supported</a>; </div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#aa2014c9a864a119c8872898b1dfebfdb"> 268</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#aa2014c9a864a119c8872898b1dfebfdb">Default_Clock</a>; </div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#add7822346e2001caeeed242b50ec9aff"> 269</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#add7822346e2001caeeed242b50ec9aff">Max_Clock</a>; </div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a4b6d5b43b7631e3bd5ddfd89bbf28f69"> 270</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a4b6d5b43b7631e3bd5ddfd89bbf28f69">Default_Data_Rate</a>; </div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a5da7ca32d144e6e72fadd22061b49aaa"> 271</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a5da7ca32d144e6e72fadd22061b49aaa">Max_Data_Rate</a>; </div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#ac7cf0dc7abe749b42926a2ca88e57b14"> 272</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#ac7cf0dc7abe749b42926a2ca88e57b14">Max_IFSD</a>; </div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a8ee02ea282d90f900dd9c000f7aeaeed"> 273</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a8ee02ea282d90f900dd9c000f7aeaeed">Synch_Supported</a>; </div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a587e8b46ab7382278c2b32c39af4ea4d"> 274</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a587e8b46ab7382278c2b32c39af4ea4d">Power_Mgmt</a>; </div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a8eeffa9789e57461bd7877d5cec30a4c"> 275</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a8eeffa9789e57461bd7877d5cec30a4c">Card_Auth_Devices</a>; </div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#a0fbfaa9f35b983ded2930221fed1efef"> 276</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a0fbfaa9f35b983ded2930221fed1efef">User_Auth_Device</a>; </div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#aa3bd30cc192de4050358024c28d5c738"> 277</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#aa3bd30cc192de4050358024c28d5c738">Mechanics_Supported</a>; </div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="struct__DEVICE__CAPABILITIES.html#aa34b013ae3201a6688b09cd600d089cd"> 278</a></span>  DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#aa34b013ae3201a6688b09cd600d089cd">Vendor_Features</a>; </div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="struct__DEVICE__CAPABILITIES.html">DEVICE_CAPABILITIES</a>, *<a class="code" href="struct__DEVICE__CAPABILITIES.html">PDEVICE_CAPABILITIES</a>;</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="struct__ICC__STATE.html"> 282</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__ICC__STATE.html">_ICC_STATE</a></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  {</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="struct__ICC__STATE.html#a68e1b22785e5fbcceff801fe329c0c4d"> 284</a></span>  UCHAR <a class="code" href="struct__ICC__STATE.html#a68e1b22785e5fbcceff801fe329c0c4d">ICC_Presence</a>; </div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="struct__ICC__STATE.html#a24fd3a0dea063d85d9a632c0fb837bef"> 285</a></span>  UCHAR <a class="code" href="struct__ICC__STATE.html#a24fd3a0dea063d85d9a632c0fb837bef">ICC_Interface_Status</a>; </div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="struct__ICC__STATE.html#a9d1ee318fc64d1067ca57ffabc770d48"> 286</a></span>  UCHAR <a class="code" href="struct__ICC__STATE.html#a9d1ee318fc64d1067ca57ffabc770d48">ATR</a>[<a class="code" href="pcsclite_8h.html#a7ac7915ff6f9baefa66886c98bdbb91e">MAX_ATR_SIZE</a>]; </div><div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="struct__ICC__STATE.html#ae328d7efdebc705c57e1f8f5d83ff3d2"> 287</a></span>  UCHAR <a class="code" href="struct__ICC__STATE.html#ae328d7efdebc705c57e1f8f5d83ff3d2">ICC_Type</a>; </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="struct__ICC__STATE.html">ICC_STATE</a>, *<a class="code" href="struct__ICC__STATE.html">PICC_STATE</a>;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html"> 291</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PROTOCOL__OPTIONS.html">_PROTOCOL_OPTIONS</a></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div><div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a9f3f53ade7bfd52e1eb1ad75dc43164e"> 293</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a9f3f53ade7bfd52e1eb1ad75dc43164e">Protocol_Type</a>; </div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a04b89d1a589d560418e344b29ad70796"> 294</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a04b89d1a589d560418e344b29ad70796">Current_Clock</a>; </div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a05a7fb2d575d29720bf48bd751875a25"> 295</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a05a7fb2d575d29720bf48bd751875a25">Current_F</a>; </div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a0f9ae7c5145c7e7449ae7695c241074d"> 296</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a0f9ae7c5145c7e7449ae7695c241074d">Current_D</a>; </div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a684b3cd20e58e47aa455197e78cd88d8"> 297</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a684b3cd20e58e47aa455197e78cd88d8">Current_N</a>; </div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a9b4a081818c7181650dbe0ba87e43022"> 298</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a9b4a081818c7181650dbe0ba87e43022">Current_W</a>; </div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a438af1bc436efbbbde9aead9da70296b"> 299</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a438af1bc436efbbbde9aead9da70296b">Current_IFSC</a>; </div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#acb0fb49f1072207c271f9025032fdd31"> 300</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#acb0fb49f1072207c271f9025032fdd31">Current_IFSD</a>; </div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a12c5f1b7552dacecd7ca849f367557e9"> 301</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a12c5f1b7552dacecd7ca849f367557e9">Current_BWT</a>; </div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a400ce36ac25e949f7816cf081e4012f9"> 302</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a400ce36ac25e949f7816cf081e4012f9">Current_CWT</a>; </div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="struct__PROTOCOL__OPTIONS.html#a2881b6d3d38a13ad821fa693ca3fc92e"> 303</a></span>  DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a2881b6d3d38a13ad821fa693ca3fc92e">Current_EBC</a>; </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>  <a class="code" href="struct__PROTOCOL__OPTIONS.html">PROTOCOL_OPTIONS</a>, *<a class="code" href="struct__PROTOCOL__OPTIONS.html">PPROTOCOL_OPTIONS</a>;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="struct__SCARD__IO__HEADER.html"> 310</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__SCARD__IO__HEADER.html">_SCARD_IO_HEADER</a></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  DWORD Protocol;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  DWORD Length;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="ifdhandler_8h.html#a43943c1504e1306b4381181d5026986e">SCARD_IO_HEADER</a>, *<a class="code" href="struct__SCARD__IO__HEADER.html">PSCARD_IO_HEADER</a>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="comment">/*</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> * The list of tags should be alot more but this is all I use in the</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"> * meantime</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> */</span></div><div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#ae4cc2d502b6cfec5843c116f1ebb552c"> 321</a></span> <span class="preprocessor">#define TAG_IFD_ATR 0x0303 </span></div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a3c90855349c36c1c6235c43c44fccca9"> 322</a></span> <span class="preprocessor">#define TAG_IFD_SLOTNUM 0x0180 </span></div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#ac7f75f65ca08c10293f81835496241c4"> 323</a></span> <span class="preprocessor">#define TAG_IFD_SLOT_THREAD_SAFE 0x0FAC </span></div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a2bdd375902612f9aa3288bd1b8850c4c"> 324</a></span> <span class="preprocessor">#define TAG_IFD_THREAD_SAFE 0x0FAD </span></div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a5f8efe163602bafbc3d2b165c5c8aec5"> 325</a></span> <span class="preprocessor">#define TAG_IFD_SLOTS_NUMBER 0x0FAE </span></div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a0bcde8044065d9932267cc2144e56fe4"> 326</a></span> <span class="preprocessor">#define TAG_IFD_SIMULTANEOUS_ACCESS 0x0FAF </span></div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a77f6ca5905856cd9f8c176e722f105dd"> 327</a></span> <span class="preprocessor">#define TAG_IFD_POLLING_THREAD 0x0FB0 </span></div><div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#ab110837652c9e2ad902199148fe6193f"> 328</a></span> <span class="preprocessor">#define TAG_IFD_POLLING_THREAD_KILLABLE 0x0FB1 </span></div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a2b2dca31df9201bebdf61697cec1df2f"> 329</a></span> <span class="preprocessor">#define TAG_IFD_STOP_POLLING_THREAD 0x0FB2 </span></div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#aad5f8bb68abbed2d322558d6c853f2a7"> 330</a></span> <span class="preprocessor">#define TAG_IFD_POLLING_THREAD_WITH_TIMEOUT 0x0FB3 </span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="preprocessor"> </span><span class="comment">/*</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> * IFD Handler version number enummerations</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> */</span><span class="preprocessor"></span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor">#define IFD_HVERSION_1_0 0x00010000</span></div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="preprocessor">#define IFD_HVERSION_2_0 0x00020000</span></div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="preprocessor">#define IFD_HVERSION_3_0 0x00030000</span></div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="comment">/*</span></div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> * List of defines available to ifdhandler</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> */</span></div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a103a0059929b2de2a5426ed5dc5fa307"> 342</a></span> <span class="preprocessor">#define IFD_POWER_UP 500 </span></div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a57f2b27f291e616cfca666f7b91781c3"> 343</a></span> <span class="preprocessor">#define IFD_POWER_DOWN 501 </span></div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a6a85965d96bdaa4a69ff4b751801cd73"> 344</a></span> <span class="preprocessor">#define IFD_RESET 502 </span></div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#abadff53edfa14ae3dae055a5d873d68c"> 346</a></span> <span class="preprocessor">#define IFD_NEGOTIATE_PTS1 1 </span></div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#aca3ae474efbed3bd173649f2b1443776"> 347</a></span> <span class="preprocessor">#define IFD_NEGOTIATE_PTS2 2 </span></div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a0e25223b36a5085bd29389fac1203781"> 348</a></span> <span class="preprocessor">#define IFD_NEGOTIATE_PTS3 4 </span></div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#ae45ef2a236e5e6f15eb6b24a7bdf2d72"> 350</a></span> <span class="preprocessor">#define IFD_SUCCESS 0 </span></div><div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a1e29ead07807cd3c5f62844af4f3f6f7"> 351</a></span> <span class="preprocessor">#define IFD_ERROR_TAG 600 </span></div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#ac592adb8501fc38c61577276b9400054"> 352</a></span> <span class="preprocessor">#define IFD_ERROR_SET_FAILURE 601 </span></div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#aba154400f746cc9808bd71e88e378520"> 353</a></span> <span class="preprocessor">#define IFD_ERROR_VALUE_READ_ONLY 602 </span></div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a35270664ceffa91b2bffe6114f80e15a"> 354</a></span> <span class="preprocessor">#define IFD_ERROR_PTS_FAILURE 605 </span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="preprocessor">#define IFD_ERROR_NOT_SUPPORTED 606</span></div><div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a920dd667096ace9714f4cdcbcf687cf3"> 356</a></span> <span class="preprocessor">#define IFD_PROTOCOL_NOT_SUPPORTED 607 </span></div><div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a1f0732913b055cb62cf09169a5dfc26b"> 357</a></span> <span class="preprocessor">#define IFD_ERROR_POWER_ACTION 608 </span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="preprocessor">#define IFD_ERROR_SWALLOW 609</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor">#define IFD_ERROR_EJECT 610</span></div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor">#define IFD_ERROR_CONFISCATE 611</span></div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#afb79c344e9ae986a97b4d4b1df2e1830"> 361</a></span> <span class="preprocessor">#define IFD_COMMUNICATION_ERROR 612 </span></div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a7dbdd1a8970ac18080eb01d891915d38"> 362</a></span> <span class="preprocessor">#define IFD_RESPONSE_TIMEOUT 613 </span></div><div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a35aea7275c1fcb4e97d57f6c8fa28918"> 363</a></span> <span class="preprocessor">#define IFD_NOT_SUPPORTED 614 </span></div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a9ab7651d3879e7734375b8a6d82bb654"> 364</a></span> <span class="preprocessor">#define IFD_ICC_PRESENT 615 </span></div><div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#ad17dec712379cf6032b6d9cf172ab9c8"> 365</a></span> <span class="preprocessor">#define IFD_ICC_NOT_PRESENT 616 </span></div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a0a0d086b32b271a2172baebd65d9da9f"> 371</a></span> <span class="preprocessor">#define IFD_NO_SUCH_DEVICE 617</span></div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="ifdhandler_8h.html#a98d6e54de9a99c288b9732231a040073"> 372</a></span> <span class="preprocessor">#define IFD_ERROR_INSUFFICIENT_BUFFER 618 </span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor">#ifndef RESPONSECODE_DEFINED_IN_WINTYPES_H</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keyword">typedef</span> <span class="keywordtype">long</span> RESPONSECODE;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="comment">/*</span></div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment"> * If you want to compile a V2.0 IFDHandler, define IFDHANDLERv2</span></div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment"> * before you include this file.</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"> *</span></div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment"> * By default it is setup for for most recent version of the API (V3.0)</span></div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment"> */</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor">#ifndef IFDHANDLERv2</span></div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="comment">/*</span></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment"> * List of Defined Functions Available to IFD_Handler 3.0</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"> *</span></div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> * All the functions of IFD_Handler 2.0 are available</span></div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment"> * IFDHCreateChannelByName() is new</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment"> * IFDHControl() API changed</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment"> */</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gabb9fe35a68fa080ce9397f0b830b1e7e">IFDHCreateChannelByName</a>(DWORD Lun, LPSTR DeviceName);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gabc775e84456eab0bac55df678a147dc9">IFDHControl</a>(DWORD Lun, DWORD dwControlCode, PUCHAR</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength,</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  LPDWORD pdwBytesReturned);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gabc775e84456eab0bac55df678a147dc9">IFDHControl</a>(DWORD Lun, PUCHAR TxBuffer, DWORD TxLength,</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  PUCHAR RxBuffer, PDWORD RxLength);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span> </div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="comment">/*</span></div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="comment"> * common functions in IFD_Handler 2.0 and 3.0</span></div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="comment"> */</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gaccb95bc0b2e679c992c6928b0e0e3fe3">IFDHCreateChannel</a>(DWORD Lun, DWORD Channel);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#ga372175bc1cb70ee90dc2f77ddf6275c3">IFDHCloseChannel</a>(DWORD Lun);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#ga799aa26945bbd3f61aaa57107f63ae0b">IFDHGetCapabilities</a>(DWORD Lun, DWORD Tag, PDWORD Length,</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  PUCHAR Value);</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gab0ae04abb9850ccff194112bacd18fcb">IFDHSetCapabilities</a>(DWORD Lun, DWORD Tag, DWORD Length, PUCHAR Value);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span> </div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gaa6fc195cb450a147550f4671492257ad">IFDHSetProtocolParameters</a>(DWORD Lun, DWORD Protocol, UCHAR Flags,</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  UCHAR PTS1, UCHAR PTS2, UCHAR PTS3);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gae6e70f53c76e9dab59164b2af8e9edfc">IFDHPowerICC</a>(DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  AtrLength);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gac86e07f01d11accda93fb80d3935eeed">IFDHTransmitToICC</a>(DWORD Lun, <a class="code" href="struct__SCARD__IO__HEADER.html">SCARD_IO_HEADER</a> SendPci,</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  RxLength, <a class="code" href="struct__SCARD__IO__HEADER.html">PSCARD_IO_HEADER</a> RecvPci);</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span> RESPONSECODE <a class="code" href="group__IFDHandler.html#gac0ef46f09df179c44a82259468bea174">IFDHICCPresence</a>(DWORD Lun);</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="preprocessor">#endif</span></div><div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a8eeffa9789e57461bd7877d5cec30a4c"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a8eeffa9789e57461bd7877d5cec30a4c">_DEVICE_CAPABILITIES::Card_Auth_Devices</a></div><div class="ttdeci">DWORD Card_Auth_Devices</div><div class="ttdoc">Tag 0x0140.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00275">ifdhandler.h:275</a></div></div> <div class="ttc" id="group__IFDHandler_html_gac86e07f01d11accda93fb80d3935eeed"><div class="ttname"><a href="group__IFDHandler.html#gac86e07f01d11accda93fb80d3935eeed">IFDHTransmitToICC</a></div><div class="ttdeci">RESPONSECODE IFDHTransmitToICC(DWORD Lun, SCARD_IO_HEADER SendPci, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD RxLength, PSCARD_IO_HEADER RecvPci)</div><div class="ttdoc">This function performs an APDU exchange with the card/slot specified by Lun.</div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a4b6d5b43b7631e3bd5ddfd89bbf28f69"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a4b6d5b43b7631e3bd5ddfd89bbf28f69">_DEVICE_CAPABILITIES::Default_Data_Rate</a></div><div class="ttdeci">DWORD Default_Data_Rate</div><div class="ttdoc">Tag 0x0123.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00270">ifdhandler.h:270</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a5da7ca32d144e6e72fadd22061b49aaa"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a5da7ca32d144e6e72fadd22061b49aaa">_DEVICE_CAPABILITIES::Max_Data_Rate</a></div><div class="ttdeci">DWORD Max_Data_Rate</div><div class="ttdoc">Tag 0x0124.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00271">ifdhandler.h:271</a></div></div> <div class="ttc" id="struct__ICC__STATE_html_a9d1ee318fc64d1067ca57ffabc770d48"><div class="ttname"><a href="struct__ICC__STATE.html#a9d1ee318fc64d1067ca57ffabc770d48">_ICC_STATE::ATR</a></div><div class="ttdeci">UCHAR ATR[MAX_ATR_SIZE]</div><div class="ttdoc">Tag 0x0303.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00286">ifdhandler.h:286</a></div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html">_PROTOCOL_OPTIONS</a></div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00291">ifdhandler.h:291</a></div></div> <div class="ttc" id="struct__ICC__STATE_html_a24fd3a0dea063d85d9a632c0fb837bef"><div class="ttname"><a href="struct__ICC__STATE.html#a24fd3a0dea063d85d9a632c0fb837bef">_ICC_STATE::ICC_Interface_Status</a></div><div class="ttdeci">UCHAR ICC_Interface_Status</div><div class="ttdoc">Tag 0x0301.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00285">ifdhandler.h:285</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_add7822346e2001caeeed242b50ec9aff"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#add7822346e2001caeeed242b50ec9aff">_DEVICE_CAPABILITIES::Max_Clock</a></div><div class="ttdeci">DWORD Max_Clock</div><div class="ttdoc">Tag 0x0122.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00269">ifdhandler.h:269</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_aa2014c9a864a119c8872898b1dfebfdb"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#aa2014c9a864a119c8872898b1dfebfdb">_DEVICE_CAPABILITIES::Default_Clock</a></div><div class="ttdeci">DWORD Default_Clock</div><div class="ttdoc">Tag 0x0121.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00268">ifdhandler.h:268</a></div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a0f9ae7c5145c7e7449ae7695c241074d"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a0f9ae7c5145c7e7449ae7695c241074d">_PROTOCOL_OPTIONS::Current_D</a></div><div class="ttdeci">DWORD Current_D</div><div class="ttdoc">Tag 0x0204.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00296">ifdhandler.h:296</a></div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a12c5f1b7552dacecd7ca849f367557e9"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a12c5f1b7552dacecd7ca849f367557e9">_PROTOCOL_OPTIONS::Current_BWT</a></div><div class="ttdeci">DWORD Current_BWT</div><div class="ttdoc">Tag 0x0209.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00301">ifdhandler.h:301</a></div></div> <div class="ttc" id="group__IFDHandler_html_ga372175bc1cb70ee90dc2f77ddf6275c3"><div class="ttname"><a href="group__IFDHandler.html#ga372175bc1cb70ee90dc2f77ddf6275c3">IFDHCloseChannel</a></div><div class="ttdeci">RESPONSECODE IFDHCloseChannel(DWORD Lun)</div><div class="ttdoc">This function should close the reader communication channel for the particular reader.</div></div> <div class="ttc" id="group__IFDHandler_html_gaccb95bc0b2e679c992c6928b0e0e3fe3"><div class="ttname"><a href="group__IFDHandler.html#gaccb95bc0b2e679c992c6928b0e0e3fe3">IFDHCreateChannel</a></div><div class="ttdeci">RESPONSECODE IFDHCreateChannel(DWORD Lun, DWORD Channel)</div><div class="ttdoc">This function is required to open a communications channel to the port listed by Channel.</div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a400ce36ac25e949f7816cf081e4012f9"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a400ce36ac25e949f7816cf081e4012f9">_PROTOCOL_OPTIONS::Current_CWT</a></div><div class="ttdeci">DWORD Current_CWT</div><div class="ttdoc">Tag 0x020A.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00302">ifdhandler.h:302</a></div></div> <div class="ttc" id="group__IFDHandler_html_gaa6fc195cb450a147550f4671492257ad"><div class="ttname"><a href="group__IFDHandler.html#gaa6fc195cb450a147550f4671492257ad">IFDHSetProtocolParameters</a></div><div class="ttdeci">RESPONSECODE IFDHSetProtocolParameters(DWORD Lun, DWORD Protocol, UCHAR Flags, UCHAR PTS1, UCHAR PTS2, UCHAR PTS3)</div><div class="ttdoc">This function should set the Protocol Type Selection (PTS) of a particular card/slot using the three ...</div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a9f3f53ade7bfd52e1eb1ad75dc43164e"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a9f3f53ade7bfd52e1eb1ad75dc43164e">_PROTOCOL_OPTIONS::Protocol_Type</a></div><div class="ttdeci">DWORD Protocol_Type</div><div class="ttdoc">Tag 0x0201.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00293">ifdhandler.h:293</a></div></div> <div class="ttc" id="struct__ICC__STATE_html_a68e1b22785e5fbcceff801fe329c0c4d"><div class="ttname"><a href="struct__ICC__STATE.html#a68e1b22785e5fbcceff801fe329c0c4d">_ICC_STATE::ICC_Presence</a></div><div class="ttdeci">UCHAR ICC_Presence</div><div class="ttdoc">Tag 0x0300.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00284">ifdhandler.h:284</a></div></div> <div class="ttc" id="group__IFDHandler_html_gae6e70f53c76e9dab59164b2af8e9edfc"><div class="ttname"><a href="group__IFDHandler.html#gae6e70f53c76e9dab59164b2af8e9edfc">IFDHPowerICC</a></div><div class="ttdeci">RESPONSECODE IFDHPowerICC(DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD AtrLength)</div><div class="ttdoc">This function controls the power and reset signals of the smart card reader at the particular reader/...</div></div> <div class="ttc" id="ifdhandler_8h_html_a43943c1504e1306b4381181d5026986e"><div class="ttname"><a href="ifdhandler_8h.html#a43943c1504e1306b4381181d5026986e">SCARD_IO_HEADER</a></div><div class="ttdeci">struct _SCARD_IO_HEADER SCARD_IO_HEADER</div><div class="ttdoc">Use by SCardTransmit()</div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a438af1bc436efbbbde9aead9da70296b"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a438af1bc436efbbbde9aead9da70296b">_PROTOCOL_OPTIONS::Current_IFSC</a></div><div class="ttdeci">DWORD Current_IFSC</div><div class="ttdoc">Tag 0x0207.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00299">ifdhandler.h:299</a></div></div> <div class="ttc" id="group__IFDHandler_html_ga799aa26945bbd3f61aaa57107f63ae0b"><div class="ttname"><a href="group__IFDHandler.html#ga799aa26945bbd3f61aaa57107f63ae0b">IFDHGetCapabilities</a></div><div class="ttdeci">RESPONSECODE IFDHGetCapabilities(DWORD Lun, DWORD Tag, PDWORD Length, PUCHAR Value)</div><div class="ttdoc">This function should get the slot/card capabilities for a particular slot/card specified by Lun.</div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_acb0fb49f1072207c271f9025032fdd31"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#acb0fb49f1072207c271f9025032fdd31">_PROTOCOL_OPTIONS::Current_IFSD</a></div><div class="ttdeci">DWORD Current_IFSD</div><div class="ttdoc">Tag 0x0208.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00300">ifdhandler.h:300</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a0fbfaa9f35b983ded2930221fed1efef"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a0fbfaa9f35b983ded2930221fed1efef">_DEVICE_CAPABILITIES::User_Auth_Device</a></div><div class="ttdeci">DWORD User_Auth_Device</div><div class="ttdoc">Tag 0x0142.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00276">ifdhandler.h:276</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_aa3bd30cc192de4050358024c28d5c738"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#aa3bd30cc192de4050358024c28d5c738">_DEVICE_CAPABILITIES::Mechanics_Supported</a></div><div class="ttdeci">DWORD Mechanics_Supported</div><div class="ttdoc">Tag 0x0150.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00277">ifdhandler.h:277</a></div></div> <div class="ttc" id="group__IFDHandler_html_gabb9fe35a68fa080ce9397f0b830b1e7e"><div class="ttname"><a href="group__IFDHandler.html#gabb9fe35a68fa080ce9397f0b830b1e7e">IFDHCreateChannelByName</a></div><div class="ttdeci">RESPONSECODE IFDHCreateChannelByName(DWORD Lun, LPSTR DeviceName)</div><div class="ttdoc">This function is required to open a communications channel to the port listed by DeviceName.</div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_ac6c398ec8ba266fdc799d0465a800e8e"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#ac6c398ec8ba266fdc799d0465a800e8e">_DEVICE_CAPABILITIES::IFD_Type</a></div><div class="ttdeci">LPSTR IFD_Type</div><div class="ttdoc">Tag 0x0101.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00262">ifdhandler.h:262</a></div></div> <div class="ttc" id="group__IFDHandler_html_gabc775e84456eab0bac55df678a147dc9"><div class="ttname"><a href="group__IFDHandler.html#gabc775e84456eab0bac55df678a147dc9">IFDHControl</a></div><div class="ttdeci">RESPONSECODE IFDHControl(DWORD Lun, DWORD dwControlCode, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength, LPDWORD pdwBytesReturned)</div><div class="ttdoc">This function performs a data exchange with the reader (not the card) specified by Lun.</div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a227146ff8ca274f3438e8fa5cd75fff0"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a227146ff8ca274f3438e8fa5cd75fff0">_DEVICE_CAPABILITIES::IFD_Version</a></div><div class="ttdeci">DWORD IFD_Version</div><div class="ttdoc">Tag 0x0102.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00263">ifdhandler.h:263</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a587e8b46ab7382278c2b32c39af4ea4d"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a587e8b46ab7382278c2b32c39af4ea4d">_DEVICE_CAPABILITIES::Power_Mgmt</a></div><div class="ttdeci">DWORD Power_Mgmt</div><div class="ttdoc">Tag 0x0131.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00274">ifdhandler.h:274</a></div></div> <div class="ttc" id="struct__ICC__STATE_html"><div class="ttname"><a href="struct__ICC__STATE.html">_ICC_STATE</a></div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00282">ifdhandler.h:282</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a9d8cb7be5aefa94b894154eaa8e40968"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a9d8cb7be5aefa94b894154eaa8e40968">_DEVICE_CAPABILITIES::IFD_Channel_ID</a></div><div class="ttdeci">DWORD IFD_Channel_ID</div><div class="ttdoc">Tag 0x0110.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00265">ifdhandler.h:265</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a8ee02ea282d90f900dd9c000f7aeaeed"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a8ee02ea282d90f900dd9c000f7aeaeed">_DEVICE_CAPABILITIES::Synch_Supported</a></div><div class="ttdeci">DWORD Synch_Supported</div><div class="ttdoc">Tag 0x0126.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00273">ifdhandler.h:273</a></div></div> <div class="ttc" id="pcsclite_8h_html"><div class="ttname"><a href="pcsclite_8h.html">pcsclite.h</a></div><div class="ttdoc">This keeps a list of defines for pcsc-lite.</div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html">_DEVICE_CAPABILITIES</a></div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00259">ifdhandler.h:259</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_ac7cf0dc7abe749b42926a2ca88e57b14"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#ac7cf0dc7abe749b42926a2ca88e57b14">_DEVICE_CAPABILITIES::Max_IFSD</a></div><div class="ttdeci">DWORD Max_IFSD</div><div class="ttdoc">Tag 0x0125.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00272">ifdhandler.h:272</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_aa34b013ae3201a6688b09cd600d089cd"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#aa34b013ae3201a6688b09cd600d089cd">_DEVICE_CAPABILITIES::Vendor_Features</a></div><div class="ttdeci">DWORD Vendor_Features</div><div class="ttdoc">Tag 0x0180 - 0x01F0 User Defined.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00278">ifdhandler.h:278</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_a21887226302077808af869013e839234"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#a21887226302077808af869013e839234">_DEVICE_CAPABILITIES::Vendor_Name</a></div><div class="ttdeci">LPSTR Vendor_Name</div><div class="ttdoc">Tag 0x0100.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00261">ifdhandler.h:261</a></div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a684b3cd20e58e47aa455197e78cd88d8"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a684b3cd20e58e47aa455197e78cd88d8">_PROTOCOL_OPTIONS::Current_N</a></div><div class="ttdeci">DWORD Current_N</div><div class="ttdoc">Tag 0x0205.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00297">ifdhandler.h:297</a></div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a05a7fb2d575d29720bf48bd751875a25"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a05a7fb2d575d29720bf48bd751875a25">_PROTOCOL_OPTIONS::Current_F</a></div><div class="ttdeci">DWORD Current_F</div><div class="ttdoc">Tag 0x0203.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00295">ifdhandler.h:295</a></div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a04b89d1a589d560418e344b29ad70796"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a04b89d1a589d560418e344b29ad70796">_PROTOCOL_OPTIONS::Current_Clock</a></div><div class="ttdeci">DWORD Current_Clock</div><div class="ttdoc">Tag 0x0202.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00294">ifdhandler.h:294</a></div></div> <div class="ttc" id="group__IFDHandler_html_gac0ef46f09df179c44a82259468bea174"><div class="ttname"><a href="group__IFDHandler.html#gac0ef46f09df179c44a82259468bea174">IFDHICCPresence</a></div><div class="ttdeci">RESPONSECODE IFDHICCPresence(DWORD Lun)</div><div class="ttdoc">This function returns the status of the card inserted in the reader/slot specified by Lun.</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="struct__PROTOCOL__OPTIONS_html_a9b4a081818c7181650dbe0ba87e43022"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a9b4a081818c7181650dbe0ba87e43022">_PROTOCOL_OPTIONS::Current_W</a></div><div class="ttdeci">DWORD Current_W</div><div class="ttdoc">Tag 0x0206.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00298">ifdhandler.h:298</a></div></div> <div class="ttc" id="group__IFDHandler_html_gab0ae04abb9850ccff194112bacd18fcb"><div class="ttname"><a href="group__IFDHandler.html#gab0ae04abb9850ccff194112bacd18fcb">IFDHSetCapabilities</a></div><div class="ttdeci">RESPONSECODE IFDHSetCapabilities(DWORD Lun, DWORD Tag, DWORD Length, PUCHAR Value)</div><div class="ttdoc">This function should set the slot/card capabilities for a particular slot/card specified by Lun.</div></div> <div class="ttc" id="struct__SCARD__IO__HEADER_html"><div class="ttname"><a href="struct__SCARD__IO__HEADER.html">_SCARD_IO_HEADER</a></div><div class="ttdoc">Use by SCardTransmit()</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00310">ifdhandler.h:310</a></div></div> <div class="ttc" id="struct__PROTOCOL__OPTIONS_html_a2881b6d3d38a13ad821fa693ca3fc92e"><div class="ttname"><a href="struct__PROTOCOL__OPTIONS.html#a2881b6d3d38a13ad821fa693ca3fc92e">_PROTOCOL_OPTIONS::Current_EBC</a></div><div class="ttdeci">DWORD Current_EBC</div><div class="ttdoc">Tag 0x020B.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00303">ifdhandler.h:303</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_acae2c1765a512171de17ad635360e596"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#acae2c1765a512171de17ad635360e596">_DEVICE_CAPABILITIES::Asynch_Supported</a></div><div class="ttdeci">DWORD Asynch_Supported</div><div class="ttdoc">Tag 0x0120.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00267">ifdhandler.h:267</a></div></div> <div class="ttc" id="struct__ICC__STATE_html_ae328d7efdebc705c57e1f8f5d83ff3d2"><div class="ttname"><a href="struct__ICC__STATE.html#ae328d7efdebc705c57e1f8f5d83ff3d2">_ICC_STATE::ICC_Type</a></div><div class="ttdeci">UCHAR ICC_Type</div><div class="ttdoc">Tag 0x0304.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00287">ifdhandler.h:287</a></div></div> <div class="ttc" id="struct__DEVICE__CAPABILITIES_html_add55b738f83e83e059bd57a4532b6227"><div class="ttname"><a href="struct__DEVICE__CAPABILITIES.html#add55b738f83e83e059bd57a4532b6227">_DEVICE_CAPABILITIES::IFD_Serial</a></div><div class="ttdeci">LPSTR IFD_Serial</div><div class="ttdoc">Tag 0x0103.</div><div class="ttdef"><b>Definition:</b> <a href="ifdhandler_8h_source.html#l00264">ifdhandler.h:264</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>