Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 6c21d55247420ace69cad1d05267fc34 > files > 131

pcsc-lite-doc-1.7.2-4.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>pcsc-lite: ifdhandler.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">pcsc-lite&#160;<span id="projectnumber">1.7.2</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="dir_7a4553ee0c3b13d0e595a5d1659110a6.html">src</a>      </li>
      <li class="navelem"><a class="el" href="dir_8a9b44811c0d1b881450d901a25922be.html">PCSC</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">ifdhandler.h</div>  </div>
</div>
<div class="contents">
<a href="ifdhandler_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * MUSCLE SmartCard Development ( http://www.linuxnet.com )</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 1999-2004</span>
<a name="l00005"></a>00005 <span class="comment"> *  David Corcoran &lt;corcoran@linuxnet.com&gt;</span>
<a name="l00006"></a>00006 <span class="comment"> * Copyright (C) 2003-2004</span>
<a name="l00007"></a>00007 <span class="comment"> *  Damien Sauveron &lt;damien.sauveron@labri.fr&gt;</span>
<a name="l00008"></a>00008 <span class="comment"> * Copyright (C) 2002-2009</span>
<a name="l00009"></a>00009 <span class="comment"> *  Ludovic Rousseau &lt;ludovic.rousseau@free.fr&gt;</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * $Id: ifdhandler.h 5638 2011-02-25 13:36:57Z rousseau $</span>
<a name="l00012"></a>00012 <span class="comment"> */</span>
<a name="l00013"></a>00013 
<a name="l00229"></a>00229 <span class="preprocessor">#ifndef _ifd_handler_h_</span>
<a name="l00230"></a>00230 <span class="preprocessor"></span><span class="preprocessor">#define _ifd_handler_h_</span>
<a name="l00231"></a>00231 <span class="preprocessor"></span>
<a name="l00232"></a>00232 <span class="preprocessor">#include &lt;<a class="code" href="pcsclite_8h.html" title="This keeps a list of defines for pcsc-lite.">pcsclite.h</a>&gt;</span>
<a name="l00233"></a>00233 
<a name="l00234"></a>00234     <span class="comment">/*</span>
<a name="l00235"></a>00235 <span class="comment">     * List of data structures available to ifdhandler</span>
<a name="l00236"></a>00236 <span class="comment">     */</span>
<a name="l00237"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html">00237</a>     <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__DEVICE__CAPABILITIES.html">_DEVICE_CAPABILITIES</a>
<a name="l00238"></a>00238     {
<a name="l00239"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a21887226302077808af869013e839234">00239</a>         LPSTR <a class="code" href="struct__DEVICE__CAPABILITIES.html#a21887226302077808af869013e839234" title="Tag 0x0100.">Vendor_Name</a>;      
<a name="l00240"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#ac6c398ec8ba266fdc799d0465a800e8e">00240</a>         LPSTR <a class="code" href="struct__DEVICE__CAPABILITIES.html#ac6c398ec8ba266fdc799d0465a800e8e" title="Tag 0x0101.">IFD_Type</a>;         
<a name="l00241"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a227146ff8ca274f3438e8fa5cd75fff0">00241</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a227146ff8ca274f3438e8fa5cd75fff0" title="Tag 0x0102.">IFD_Version</a>;      
<a name="l00242"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#add55b738f83e83e059bd57a4532b6227">00242</a>         LPSTR <a class="code" href="struct__DEVICE__CAPABILITIES.html#add55b738f83e83e059bd57a4532b6227" title="Tag 0x0103.">IFD_Serial</a>;       
<a name="l00243"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a9d8cb7be5aefa94b894154eaa8e40968">00243</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a9d8cb7be5aefa94b894154eaa8e40968" title="Tag 0x0110.">IFD_Channel_ID</a>;   
<a name="l00245"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#acae2c1765a512171de17ad635360e596">00245</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#acae2c1765a512171de17ad635360e596" title="Tag 0x0120.">Asynch_Supported</a>; 
<a name="l00246"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#aa2014c9a864a119c8872898b1dfebfdb">00246</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#aa2014c9a864a119c8872898b1dfebfdb" title="Tag 0x0121.">Default_Clock</a>;    
<a name="l00247"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#add7822346e2001caeeed242b50ec9aff">00247</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#add7822346e2001caeeed242b50ec9aff" title="Tag 0x0122.">Max_Clock</a>;        
<a name="l00248"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a4b6d5b43b7631e3bd5ddfd89bbf28f69">00248</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a4b6d5b43b7631e3bd5ddfd89bbf28f69" title="Tag 0x0123.">Default_Data_Rate</a>;    
<a name="l00249"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a5da7ca32d144e6e72fadd22061b49aaa">00249</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a5da7ca32d144e6e72fadd22061b49aaa" title="Tag 0x0124.">Max_Data_Rate</a>;    
<a name="l00250"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#ac7cf0dc7abe749b42926a2ca88e57b14">00250</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#ac7cf0dc7abe749b42926a2ca88e57b14" title="Tag 0x0125.">Max_IFSD</a>;         
<a name="l00251"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a8ee02ea282d90f900dd9c000f7aeaeed">00251</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a8ee02ea282d90f900dd9c000f7aeaeed" title="Tag 0x0126.">Synch_Supported</a>;  
<a name="l00252"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a587e8b46ab7382278c2b32c39af4ea4d">00252</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a587e8b46ab7382278c2b32c39af4ea4d" title="Tag 0x0131.">Power_Mgmt</a>;       
<a name="l00253"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a8eeffa9789e57461bd7877d5cec30a4c">00253</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a8eeffa9789e57461bd7877d5cec30a4c" title="Tag 0x0140.">Card_Auth_Devices</a>;    
<a name="l00254"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#a0fbfaa9f35b983ded2930221fed1efef">00254</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#a0fbfaa9f35b983ded2930221fed1efef" title="Tag 0x0142.">User_Auth_Device</a>; 
<a name="l00255"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#aa3bd30cc192de4050358024c28d5c738">00255</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#aa3bd30cc192de4050358024c28d5c738" title="Tag 0x0150.">Mechanics_Supported</a>;  
<a name="l00256"></a><a class="code" href="struct__DEVICE__CAPABILITIES.html#aa34b013ae3201a6688b09cd600d089cd">00256</a>         DWORD <a class="code" href="struct__DEVICE__CAPABILITIES.html#aa34b013ae3201a6688b09cd600d089cd" title="Tag 0x0180 - 0x01F0 User Defined.">Vendor_Features</a>;  
<a name="l00257"></a>00257     }
<a name="l00258"></a>00258     <a class="code" href="struct__DEVICE__CAPABILITIES.html">DEVICE_CAPABILITIES</a>, *<a class="code" href="struct__DEVICE__CAPABILITIES.html">PDEVICE_CAPABILITIES</a>;
<a name="l00259"></a>00259 
<a name="l00260"></a><a class="code" href="struct__ICC__STATE.html">00260</a>     <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__ICC__STATE.html">_ICC_STATE</a>
<a name="l00261"></a>00261     {
<a name="l00262"></a><a class="code" href="struct__ICC__STATE.html#a68e1b22785e5fbcceff801fe329c0c4d">00262</a>         UCHAR <a class="code" href="struct__ICC__STATE.html#a68e1b22785e5fbcceff801fe329c0c4d" title="Tag 0x0300.">ICC_Presence</a>;     
<a name="l00263"></a><a class="code" href="struct__ICC__STATE.html#a24fd3a0dea063d85d9a632c0fb837bef">00263</a>         UCHAR <a class="code" href="struct__ICC__STATE.html#a24fd3a0dea063d85d9a632c0fb837bef" title="Tag 0x0301.">ICC_Interface_Status</a>; 
<a name="l00264"></a><a class="code" href="struct__ICC__STATE.html#a9d1ee318fc64d1067ca57ffabc770d48">00264</a>         UCHAR <a class="code" href="struct__ICC__STATE.html#a9d1ee318fc64d1067ca57ffabc770d48" title="Tag 0x0303.">ATR</a>[<a class="code" href="pcsclite_8h.html#a7ac7915ff6f9baefa66886c98bdbb91e" title="Maximum ATR size.">MAX_ATR_SIZE</a>];    
<a name="l00265"></a><a class="code" href="struct__ICC__STATE.html#ae328d7efdebc705c57e1f8f5d83ff3d2">00265</a>         UCHAR <a class="code" href="struct__ICC__STATE.html#ae328d7efdebc705c57e1f8f5d83ff3d2" title="Tag 0x0304.">ICC_Type</a>;         
<a name="l00266"></a>00266     }
<a name="l00267"></a>00267     <a class="code" href="struct__ICC__STATE.html">ICC_STATE</a>, *<a class="code" href="struct__ICC__STATE.html">PICC_STATE</a>;
<a name="l00268"></a>00268 
<a name="l00269"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html">00269</a>     <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PROTOCOL__OPTIONS.html">_PROTOCOL_OPTIONS</a>
<a name="l00270"></a>00270     {
<a name="l00271"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a9f3f53ade7bfd52e1eb1ad75dc43164e">00271</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a9f3f53ade7bfd52e1eb1ad75dc43164e" title="Tag 0x0201.">Protocol_Type</a>;    
<a name="l00272"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a04b89d1a589d560418e344b29ad70796">00272</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a04b89d1a589d560418e344b29ad70796" title="Tag 0x0202.">Current_Clock</a>;    
<a name="l00273"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a05a7fb2d575d29720bf48bd751875a25">00273</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a05a7fb2d575d29720bf48bd751875a25" title="Tag 0x0203.">Current_F</a>;        
<a name="l00274"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a0f9ae7c5145c7e7449ae7695c241074d">00274</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a0f9ae7c5145c7e7449ae7695c241074d" title="Tag 0x0204.">Current_D</a>;        
<a name="l00275"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a684b3cd20e58e47aa455197e78cd88d8">00275</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a684b3cd20e58e47aa455197e78cd88d8" title="Tag 0x0205.">Current_N</a>;        
<a name="l00276"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a9b4a081818c7181650dbe0ba87e43022">00276</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a9b4a081818c7181650dbe0ba87e43022" title="Tag 0x0206.">Current_W</a>;        
<a name="l00277"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a438af1bc436efbbbde9aead9da70296b">00277</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a438af1bc436efbbbde9aead9da70296b" title="Tag 0x0207.">Current_IFSC</a>;     
<a name="l00278"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#acb0fb49f1072207c271f9025032fdd31">00278</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#acb0fb49f1072207c271f9025032fdd31" title="Tag 0x0208.">Current_IFSD</a>;     
<a name="l00279"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a12c5f1b7552dacecd7ca849f367557e9">00279</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a12c5f1b7552dacecd7ca849f367557e9" title="Tag 0x0209.">Current_BWT</a>;      
<a name="l00280"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a400ce36ac25e949f7816cf081e4012f9">00280</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a400ce36ac25e949f7816cf081e4012f9" title="Tag 0x020A.">Current_CWT</a>;      
<a name="l00281"></a><a class="code" href="struct__PROTOCOL__OPTIONS.html#a2881b6d3d38a13ad821fa693ca3fc92e">00281</a>         DWORD <a class="code" href="struct__PROTOCOL__OPTIONS.html#a2881b6d3d38a13ad821fa693ca3fc92e" title="Tag 0x020B.">Current_EBC</a>;      
<a name="l00282"></a>00282     }
<a name="l00283"></a>00283     <a class="code" href="struct__PROTOCOL__OPTIONS.html">PROTOCOL_OPTIONS</a>, *<a class="code" href="struct__PROTOCOL__OPTIONS.html">PPROTOCOL_OPTIONS</a>;
<a name="l00284"></a>00284 
<a name="l00288"></a><a class="code" href="struct__SCARD__IO__HEADER.html">00288</a>     <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__SCARD__IO__HEADER.html" title="Use by SCardTransmit()">_SCARD_IO_HEADER</a>
<a name="l00289"></a>00289     {
<a name="l00290"></a>00290         DWORD Protocol;
<a name="l00291"></a>00291         DWORD Length;
<a name="l00292"></a>00292     }
<a name="l00293"></a>00293     <a class="code" href="ifdhandler_8h.html#a43943c1504e1306b4381181d5026986e" title="Use by SCardTransmit()">SCARD_IO_HEADER</a>, *<a class="code" href="struct__SCARD__IO__HEADER.html" title="Use by SCardTransmit()">PSCARD_IO_HEADER</a>;
<a name="l00294"></a>00294 
<a name="l00295"></a>00295     <span class="comment">/*</span>
<a name="l00296"></a>00296 <span class="comment">     * The list of tags should be alot more but this is all I use in the</span>
<a name="l00297"></a>00297 <span class="comment">     * meantime</span>
<a name="l00298"></a>00298 <span class="comment">     */</span>
<a name="l00299"></a><a class="code" href="ifdhandler_8h.html#ae4cc2d502b6cfec5843c116f1ebb552c">00299</a> <span class="preprocessor">#define TAG_IFD_ATR                     0x0303  </span>
<a name="l00300"></a><a class="code" href="ifdhandler_8h.html#a3c90855349c36c1c6235c43c44fccca9">00300</a> <span class="preprocessor">#define TAG_IFD_SLOTNUM                 0x0180  </span>
<a name="l00301"></a><a class="code" href="ifdhandler_8h.html#ac7f75f65ca08c10293f81835496241c4">00301</a> <span class="preprocessor">#define TAG_IFD_SLOT_THREAD_SAFE        0x0FAC  </span>
<a name="l00302"></a><a class="code" href="ifdhandler_8h.html#a2bdd375902612f9aa3288bd1b8850c4c">00302</a> <span class="preprocessor">#define TAG_IFD_THREAD_SAFE             0x0FAD  </span>
<a name="l00303"></a><a class="code" href="ifdhandler_8h.html#a5f8efe163602bafbc3d2b165c5c8aec5">00303</a> <span class="preprocessor">#define TAG_IFD_SLOTS_NUMBER            0x0FAE  </span>
<a name="l00304"></a><a class="code" href="ifdhandler_8h.html#a0bcde8044065d9932267cc2144e56fe4">00304</a> <span class="preprocessor">#define TAG_IFD_SIMULTANEOUS_ACCESS     0x0FAF  </span>
<a name="l00305"></a><a class="code" href="ifdhandler_8h.html#a77f6ca5905856cd9f8c176e722f105dd">00305</a> <span class="preprocessor">#define TAG_IFD_POLLING_THREAD          0x0FB0  </span>
<a name="l00306"></a><a class="code" href="ifdhandler_8h.html#ab110837652c9e2ad902199148fe6193f">00306</a> <span class="preprocessor">#define TAG_IFD_POLLING_THREAD_KILLABLE 0x0FB1  </span>
<a name="l00307"></a><a class="code" href="ifdhandler_8h.html#a2b2dca31df9201bebdf61697cec1df2f">00307</a> <span class="preprocessor">#define TAG_IFD_STOP_POLLING_THREAD     0x0FB2  </span>
<a name="l00308"></a><a class="code" href="ifdhandler_8h.html#aad5f8bb68abbed2d322558d6c853f2a7">00308</a> <span class="preprocessor">#define TAG_IFD_POLLING_THREAD_WITH_TIMEOUT 0x0FB3  </span>
<a name="l00310"></a>00310 <span class="preprocessor">    </span><span class="comment">/*</span>
<a name="l00311"></a>00311 <span class="comment">     * IFD Handler version number enummerations</span>
<a name="l00312"></a>00312 <span class="comment">     */</span>
<a name="l00313"></a>00313 <span class="preprocessor">#define IFD_HVERSION_1_0               0x00010000</span>
<a name="l00314"></a>00314 <span class="preprocessor"></span><span class="preprocessor">#define IFD_HVERSION_2_0               0x00020000</span>
<a name="l00315"></a>00315 <span class="preprocessor"></span><span class="preprocessor">#define IFD_HVERSION_3_0               0x00030000</span>
<a name="l00316"></a>00316 <span class="preprocessor"></span>
<a name="l00317"></a>00317     <span class="comment">/*</span>
<a name="l00318"></a>00318 <span class="comment">     * List of defines available to ifdhandler</span>
<a name="l00319"></a>00319 <span class="comment">     */</span>
<a name="l00320"></a><a class="code" href="ifdhandler_8h.html#a103a0059929b2de2a5426ed5dc5fa307">00320</a> <span class="preprocessor">#define IFD_POWER_UP            500 </span>
<a name="l00321"></a><a class="code" href="ifdhandler_8h.html#a57f2b27f291e616cfca666f7b91781c3">00321</a> <span class="preprocessor">#define IFD_POWER_DOWN          501 </span>
<a name="l00322"></a><a class="code" href="ifdhandler_8h.html#a6a85965d96bdaa4a69ff4b751801cd73">00322</a> <span class="preprocessor">#define IFD_RESET           502 </span>
<a name="l00324"></a><a class="code" href="ifdhandler_8h.html#abadff53edfa14ae3dae055a5d873d68c">00324</a> <span class="preprocessor">#define IFD_NEGOTIATE_PTS1      1   </span>
<a name="l00325"></a><a class="code" href="ifdhandler_8h.html#aca3ae474efbed3bd173649f2b1443776">00325</a> <span class="preprocessor">#define IFD_NEGOTIATE_PTS2      2   </span>
<a name="l00326"></a><a class="code" href="ifdhandler_8h.html#a0e25223b36a5085bd29389fac1203781">00326</a> <span class="preprocessor">#define IFD_NEGOTIATE_PTS3              4   </span>
<a name="l00328"></a><a class="code" href="ifdhandler_8h.html#ae45ef2a236e5e6f15eb6b24a7bdf2d72">00328</a> <span class="preprocessor">#define IFD_SUCCESS         0   </span>
<a name="l00329"></a><a class="code" href="ifdhandler_8h.html#a1e29ead07807cd3c5f62844af4f3f6f7">00329</a> <span class="preprocessor">#define IFD_ERROR_TAG           600 </span>
<a name="l00330"></a><a class="code" href="ifdhandler_8h.html#ac592adb8501fc38c61577276b9400054">00330</a> <span class="preprocessor">#define IFD_ERROR_SET_FAILURE       601 </span>
<a name="l00331"></a><a class="code" href="ifdhandler_8h.html#aba154400f746cc9808bd71e88e378520">00331</a> <span class="preprocessor">#define IFD_ERROR_VALUE_READ_ONLY   602 </span>
<a name="l00332"></a><a class="code" href="ifdhandler_8h.html#a35270664ceffa91b2bffe6114f80e15a">00332</a> <span class="preprocessor">#define IFD_ERROR_PTS_FAILURE       605 </span>
<a name="l00333"></a>00333 <span class="preprocessor">#define IFD_ERROR_NOT_SUPPORTED     606</span>
<a name="l00334"></a><a class="code" href="ifdhandler_8h.html#a920dd667096ace9714f4cdcbcf687cf3">00334</a> <span class="preprocessor"></span><span class="preprocessor">#define IFD_PROTOCOL_NOT_SUPPORTED  607 </span>
<a name="l00335"></a><a class="code" href="ifdhandler_8h.html#a1f0732913b055cb62cf09169a5dfc26b">00335</a> <span class="preprocessor">#define IFD_ERROR_POWER_ACTION      608 </span>
<a name="l00336"></a>00336 <span class="preprocessor">#define IFD_ERROR_SWALLOW       609</span>
<a name="l00337"></a>00337 <span class="preprocessor"></span><span class="preprocessor">#define IFD_ERROR_EJECT         610</span>
<a name="l00338"></a>00338 <span class="preprocessor"></span><span class="preprocessor">#define IFD_ERROR_CONFISCATE        611</span>
<a name="l00339"></a><a class="code" href="ifdhandler_8h.html#afb79c344e9ae986a97b4d4b1df2e1830">00339</a> <span class="preprocessor"></span><span class="preprocessor">#define IFD_COMMUNICATION_ERROR     612 </span>
<a name="l00340"></a><a class="code" href="ifdhandler_8h.html#a7dbdd1a8970ac18080eb01d891915d38">00340</a> <span class="preprocessor">#define IFD_RESPONSE_TIMEOUT        613 </span>
<a name="l00341"></a><a class="code" href="ifdhandler_8h.html#a35aea7275c1fcb4e97d57f6c8fa28918">00341</a> <span class="preprocessor">#define IFD_NOT_SUPPORTED       614 </span>
<a name="l00342"></a><a class="code" href="ifdhandler_8h.html#a9ab7651d3879e7734375b8a6d82bb654">00342</a> <span class="preprocessor">#define IFD_ICC_PRESENT         615 </span>
<a name="l00343"></a><a class="code" href="ifdhandler_8h.html#ad17dec712379cf6032b6d9cf172ab9c8">00343</a> <span class="preprocessor">#define IFD_ICC_NOT_PRESENT     616 </span>
<a name="l00349"></a><a class="code" href="ifdhandler_8h.html#a0a0d086b32b271a2172baebd65d9da9f">00349</a> <span class="preprocessor">#define IFD_NO_SUCH_DEVICE      617</span>
<a name="l00350"></a><a class="code" href="ifdhandler_8h.html#a98d6e54de9a99c288b9732231a040073">00350</a> <span class="preprocessor"></span><span class="preprocessor">#define IFD_ERROR_INSUFFICIENT_BUFFER   618 </span>
<a name="l00352"></a>00352 <span class="preprocessor">#ifndef RESPONSECODE_DEFINED_IN_WINTYPES_H</span>
<a name="l00353"></a>00353 <span class="preprocessor"></span>    <span class="keyword">typedef</span> <span class="keywordtype">long</span> RESPONSECODE;
<a name="l00354"></a>00354 <span class="preprocessor">#endif</span>
<a name="l00355"></a>00355 <span class="preprocessor"></span>
<a name="l00356"></a>00356     <span class="comment">/*</span>
<a name="l00357"></a>00357 <span class="comment">     * If you want to compile a V2.0 IFDHandler, define IFDHANDLERv2</span>
<a name="l00358"></a>00358 <span class="comment">     * before you include this file.</span>
<a name="l00359"></a>00359 <span class="comment">     *</span>
<a name="l00360"></a>00360 <span class="comment">     * By default it is setup for for most recent version of the API (V3.0)</span>
<a name="l00361"></a>00361 <span class="comment">     */</span>
<a name="l00362"></a>00362 
<a name="l00363"></a>00363 <span class="preprocessor">#ifndef IFDHANDLERv2</span>
<a name="l00364"></a>00364 <span class="preprocessor"></span>
<a name="l00365"></a>00365     <span class="comment">/*</span>
<a name="l00366"></a>00366 <span class="comment">     * List of Defined Functions Available to IFD_Handler 3.0</span>
<a name="l00367"></a>00367 <span class="comment">     *</span>
<a name="l00368"></a>00368 <span class="comment">     * All the functions of IFD_Handler 2.0 are available</span>
<a name="l00369"></a>00369 <span class="comment">     * IFDHCreateChannelByName() is new</span>
<a name="l00370"></a>00370 <span class="comment">     * IFDHControl() API changed</span>
<a name="l00371"></a>00371 <span class="comment">     */</span>
<a name="l00372"></a>00372 
<a name="l00464"></a>00464 RESPONSECODE <a class="code" href="group__IFDHandler.html#gabb9fe35a68fa080ce9397f0b830b1e7e" title="This function is required to open a communications channel to the port listed by DeviceName.">IFDHCreateChannelByName</a>(DWORD Lun, LPSTR DeviceName);
<a name="l00465"></a>00465 
<a name="l00497"></a>00497 RESPONSECODE <a class="code" href="group__IFDHandler.html#gabc775e84456eab0bac55df678a147dc9" title="This function performs a data exchange with the reader (not the card) specified by Lun...">IFDHControl</a>(DWORD Lun, DWORD dwControlCode, PUCHAR
<a name="l00498"></a>00498     TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength,
<a name="l00499"></a>00499     LPDWORD pdwBytesReturned);
<a name="l00500"></a>00500 
<a name="l00501"></a>00501 <span class="preprocessor">#else</span>
<a name="l00502"></a>00502 <span class="preprocessor"></span>
<a name="l00509"></a>00509 RESPONSECODE <a class="code" href="group__IFDHandler.html#gabc775e84456eab0bac55df678a147dc9" title="This function performs a data exchange with the reader (not the card) specified by Lun...">IFDHControl</a>(DWORD Lun, PUCHAR TxBuffer, DWORD TxLength,
<a name="l00510"></a>00510     PUCHAR RxBuffer, PDWORD RxLength);
<a name="l00511"></a>00511 
<a name="l00512"></a>00512 <span class="preprocessor">#endif</span>
<a name="l00513"></a>00513 <span class="preprocessor"></span>
<a name="l00514"></a>00514     <span class="comment">/*</span>
<a name="l00515"></a>00515 <span class="comment">     * common functions in IFD_Handler 2.0 and 3.0</span>
<a name="l00516"></a>00516 <span class="comment">     */</span>
<a name="l00558"></a>00558 RESPONSECODE <a class="code" href="group__IFDHandler.html#gaccb95bc0b2e679c992c6928b0e0e3fe3" title="This function is required to open a communications channel to the port listed by Channel.">IFDHCreateChannel</a>(DWORD Lun, DWORD Channel);
<a name="l00559"></a>00559 
<a name="l00574"></a>00574 RESPONSECODE <a class="code" href="group__IFDHandler.html#ga372175bc1cb70ee90dc2f77ddf6275c3" title="This function should close the reader communication channel for the particular reader.">IFDHCloseChannel</a>(DWORD Lun);
<a name="l00575"></a>00575 
<a name="l00618"></a>00618 RESPONSECODE <a class="code" href="group__IFDHandler.html#ga799aa26945bbd3f61aaa57107f63ae0b" title="This function should get the slot/card capabilities for a particular slot/card specified by Lun...">IFDHGetCapabilities</a>(DWORD Lun, DWORD Tag, PDWORD Length,
<a name="l00619"></a>00619     PUCHAR Value);
<a name="l00620"></a>00620 
<a name="l00642"></a>00642 RESPONSECODE <a class="code" href="group__IFDHandler.html#gab0ae04abb9850ccff194112bacd18fcb" title="This function should set the slot/card capabilities for a particular slot/card specified by Lun...">IFDHSetCapabilities</a>(DWORD Lun, DWORD Tag, DWORD Length, PUCHAR Value);
<a name="l00643"></a>00643 
<a name="l00673"></a>00673 RESPONSECODE <a class="code" href="group__IFDHandler.html#gaa6fc195cb450a147550f4671492257ad" title="This function should set the Protocol Type Selection (PTS) of a particular card/slot using the three ...">IFDHSetProtocolParameters</a>(DWORD Lun, DWORD Protocol, UCHAR Flags,
<a name="l00674"></a>00674     UCHAR PTS1, UCHAR PTS2, UCHAR PTS3);
<a name="l00707"></a>00707 RESPONSECODE <a class="code" href="group__IFDHandler.html#gae6e70f53c76e9dab59164b2af8e9edfc" title="This function controls the power and reset signals of the smart card reader at the particular reader/...">IFDHPowerICC</a>(DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD
<a name="l00708"></a>00708     AtrLength);
<a name="l00709"></a>00709 
<a name="l00761"></a>00761 RESPONSECODE <a class="code" href="group__IFDHandler.html#gac86e07f01d11accda93fb80d3935eeed" title="This function performs an APDU exchange with the card/slot specified by Lun.">IFDHTransmitToICC</a>(DWORD Lun, <a class="code" href="struct__SCARD__IO__HEADER.html" title="Use by SCardTransmit()">SCARD_IO_HEADER</a> SendPci,
<a name="l00762"></a>00762     PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD
<a name="l00763"></a>00763     RxLength, PSCARD_IO_HEADER RecvPci);
<a name="l00764"></a>00764 
<a name="l00781"></a>00781 RESPONSECODE <a class="code" href="group__IFDHandler.html#gac0ef46f09df179c44a82259468bea174" title="This function returns the status of the card inserted in the reader/slot specified by Lun...">IFDHICCPresence</a>(DWORD Lun);
<a name="l00782"></a>00782 
<a name="l00783"></a>00783 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Sep 15 2011 for pcsc-lite by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>