<!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: reader.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.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 <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 Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <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 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="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Defines</a> </div> <div class="headertitle"> <div class="title">reader.h File Reference</div> </div> </div> <div class="contents"> <p>This keeps a list of defines shared between the driver and the application. <a href="#details">More...</a></p> <div class="textblock"><code>#include <inttypes.h></code><br/> </div><div class="textblock"><div class="dynheader"> Include dependency graph for reader.h:</div> <div class="dyncontent"> <div class="center"><img src="reader_8h__incl.png" border="0" usemap="#reader_8h" alt=""/></div> <map name="reader_8h" id="reader_8h"> </map> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="reader_8h__dep__incl.png" border="0" usemap="#reader_8hdep" alt=""/></div> <map name="reader_8hdep" id="reader_8hdep"> <area shape="rect" id="node3" href="testpcsc_8c.html" title="This is a test program for pcsc-lite." alt="" coords="5,83,88,112"/><area shape="rect" id="node5" href="winscard_8c.html" title="This handles smartcard reader communications." alt="" coords="112,83,197,112"/></map> </div> </div> <p><a href="reader_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structPCSC__TLV__STRUCTURE.html">PCSC_TLV_STRUCTURE</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the structure must be 6-bytes long <a href="structPCSC__TLV__STRUCTURE.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structPIN__VERIFY__STRUCTURE.html">PIN_VERIFY_STRUCTURE</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">structure used with <a class="el" href="reader_8h.html#a22729dc39cb7e44fb9f9bc6312cdd470">FEATURE_VERIFY_PIN_DIRECT</a> <a href="structPIN__VERIFY__STRUCTURE.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structPIN__MODIFY__STRUCTURE.html">PIN_MODIFY_STRUCTURE</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">structure used with <a class="el" href="reader_8h.html#aad76cf0fd82ebd046f7d17c1f7cccb98">FEATURE_MODIFY_PIN_DIRECT</a> <a href="structPIN__MODIFY__STRUCTURE.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structPIN__PROPERTIES__STRUCTURE.html">PIN_PROPERTIES_STRUCTURE</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">structure used with <a class="el" href="reader_8h.html#a63ca99c5a5d14f07451463b5551918b5">FEATURE_IFD_PIN_PROPERTIES</a> <a href="structPIN__PROPERTIES__STRUCTURE.html#details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95ce921884d8d0b6d773f6c765a58727"></a><!-- doxytag: member="reader.h::SCARD_ATTR_VALUE" ref="a95ce921884d8d0b6d773f6c765a58727" args="(Class, Tag)" --> #define </td><td class="memItemRight" valign="bottom"><b>SCARD_ATTR_VALUE</b>(Class, Tag)   ((((ULONG)(Class)) << 16) | ((ULONG)(Tag)))</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac409d77029bd4c5d53a3653a3c9bced1"></a><!-- doxytag: member="reader.h::SCARD_CLASS_VENDOR_INFO" ref="ac409d77029bd4c5d53a3653a3c9bced1" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#ac409d77029bd4c5d53a3653a3c9bced1">SCARD_CLASS_VENDOR_INFO</a>   1</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Vendor information definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa4010182e2b73a4ef25351eb7d8730a"></a><!-- doxytag: member="reader.h::SCARD_CLASS_COMMUNICATIONS" ref="afa4010182e2b73a4ef25351eb7d8730a" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#afa4010182e2b73a4ef25351eb7d8730a">SCARD_CLASS_COMMUNICATIONS</a>   2</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Communication definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a064f818b19ec974371097ab385623b71"></a><!-- doxytag: member="reader.h::SCARD_CLASS_PROTOCOL" ref="a064f818b19ec974371097ab385623b71" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a064f818b19ec974371097ab385623b71">SCARD_CLASS_PROTOCOL</a>   3</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Protocol definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a461e952ec774e5d72d1a3eb871bbb847"></a><!-- doxytag: member="reader.h::SCARD_CLASS_POWER_MGMT" ref="a461e952ec774e5d72d1a3eb871bbb847" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a461e952ec774e5d72d1a3eb871bbb847">SCARD_CLASS_POWER_MGMT</a>   4</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Power Management definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4165b491cc3d530c3e59933d0ebd4943"></a><!-- doxytag: member="reader.h::SCARD_CLASS_SECURITY" ref="a4165b491cc3d530c3e59933d0ebd4943" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a4165b491cc3d530c3e59933d0ebd4943">SCARD_CLASS_SECURITY</a>   5</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Security Assurance definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51e081f8f62026f12e3df5ccc720efcb"></a><!-- doxytag: member="reader.h::SCARD_CLASS_MECHANICAL" ref="a51e081f8f62026f12e3df5ccc720efcb" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a51e081f8f62026f12e3df5ccc720efcb">SCARD_CLASS_MECHANICAL</a>   6</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Mechanical characteristic definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab5654dd9c299bf141b7e97d8d2593c7"></a><!-- doxytag: member="reader.h::SCARD_CLASS_VENDOR_DEFINED" ref="aab5654dd9c299bf141b7e97d8d2593c7" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#aab5654dd9c299bf141b7e97d8d2593c7">SCARD_CLASS_VENDOR_DEFINED</a>   7</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Vendor specific definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf10cf4bc4b1e9a02dae61b10df2c353"></a><!-- doxytag: member="reader.h::SCARD_CLASS_IFD_PROTOCOL" ref="abf10cf4bc4b1e9a02dae61b10df2c353" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#abf10cf4bc4b1e9a02dae61b10df2c353">SCARD_CLASS_IFD_PROTOCOL</a>   8</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Interface Device Protocol options. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b9fc02612f084a904eb1236c1f1583a"></a><!-- doxytag: member="reader.h::SCARD_CLASS_ICC_STATE" ref="a9b9fc02612f084a904eb1236c1f1583a" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a9b9fc02612f084a904eb1236c1f1583a">SCARD_CLASS_ICC_STATE</a>   9</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">ICC State specific definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4212b8e77d8e35f0cef53b034afbd5ad"></a><!-- doxytag: member="reader.h::SCARD_CLASS_SYSTEM" ref="a4212b8e77d8e35f0cef53b034afbd5ad" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a4212b8e77d8e35f0cef53b034afbd5ad">SCARD_CLASS_SYSTEM</a>   0x7fff</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">System-specific definitions. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a8c0b0539cf006d7bfef49db7136cda95">SCARD_ATTR_VENDOR_NAME</a>   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0100)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Vendor name. <a href="#a8c0b0539cf006d7bfef49db7136cda95"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a5667d6bcd2fb4b0aa5ea43f85a579518">SCARD_ATTR_VENDOR_IFD_TYPE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0101)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Vendor-supplied interface device type (model designation of reader). <a href="#a5667d6bcd2fb4b0aa5ea43f85a579518"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a21105eef90f69895754548688e4b0721">SCARD_ATTR_VENDOR_IFD_VERSION</a>   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0102)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Vendor-supplied interface device version (DWORD in the form 0xMMmmbbbb where MM = major version, mm = minor version, and bbbb = build number). <a href="#a21105eef90f69895754548688e4b0721"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#ae1143cec3f4ee0f37dee6cdaf8942e8b">SCARD_ATTR_VENDOR_IFD_SERIAL_NO</a>   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0103)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Vendor-supplied interface device serial number. <a href="#ae1143cec3f4ee0f37dee6cdaf8942e8b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c38e24b650a967fbd052bb2a376c492"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CHANNEL_ID" ref="a8c38e24b650a967fbd052bb2a376c492" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a8c38e24b650a967fbd052bb2a376c492">SCARD_ATTR_CHANNEL_ID</a>   SCARD_ATTR_VALUE(SCARD_CLASS_COMMUNICATIONS, 0x0110)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">DWORD encoded as 0xDDDDCCCC, where DDDD = data channel type and CCCC = channel number. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e87e6925548b9fcca3fa0026b82500d"></a><!-- doxytag: member="reader.h::SCARD_ATTR_ASYNC_PROTOCOL_TYPES" ref="a2e87e6925548b9fcca3fa0026b82500d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a2e87e6925548b9fcca3fa0026b82500d">SCARD_ATTR_ASYNC_PROTOCOL_TYPES</a>   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0120)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#afb122c686777ecf51f106bcc88836270">SCARD_ATTR_DEFAULT_CLK</a>   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0121)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default clock rate, in kHz. <a href="#afb122c686777ecf51f106bcc88836270"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a0a30cd55c56ceeb3f97d8c0c91e68d77">SCARD_ATTR_MAX_CLK</a>   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0122)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum clock rate, in kHz. <a href="#a0a30cd55c56ceeb3f97d8c0c91e68d77"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#aa4e83e4f0024961638da8c8608c1c50e">SCARD_ATTR_DEFAULT_DATA_RATE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0123)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default data rate, in bps. <a href="#aa4e83e4f0024961638da8c8608c1c50e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a67cd46e2a022ae72ce6dde4b04c950ff">SCARD_ATTR_MAX_DATA_RATE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0124)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum data rate, in bps. <a href="#a67cd46e2a022ae72ce6dde4b04c950ff"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a338aa843f02a567ea406b0c5bd488620">SCARD_ATTR_MAX_IFSD</a>   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0125)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum bytes for information file size device. <a href="#a338aa843f02a567ea406b0c5bd488620"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2be4573e3c86834b1b35abf66d0053ad"></a><!-- doxytag: member="reader.h::SCARD_ATTR_SYNC_PROTOCOL_TYPES" ref="a2be4573e3c86834b1b35abf66d0053ad" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a2be4573e3c86834b1b35abf66d0053ad">SCARD_ATTR_SYNC_PROTOCOL_TYPES</a>   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0126)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a33c927bbe78a8eab44869c04783ea0d2">SCARD_ATTR_POWER_MGMT_SUPPORT</a>   SCARD_ATTR_VALUE(SCARD_CLASS_POWER_MGMT, 0x0131)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Zero if device does not support power down while smart card is inserted. <a href="#a33c927bbe78a8eab44869c04783ea0d2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60bf2dbb950d448099314aa86c14b2aa"></a><!-- doxytag: member="reader.h::SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE" ref="a60bf2dbb950d448099314aa86c14b2aa" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a60bf2dbb950d448099314aa86c14b2aa">SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY, 0x0140)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86eb3bba6a8a463aa0eac4ada7704785"></a><!-- doxytag: member="reader.h::SCARD_ATTR_USER_AUTH_INPUT_DEVICE" ref="a86eb3bba6a8a463aa0eac4ada7704785" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a86eb3bba6a8a463aa0eac4ada7704785">SCARD_ATTR_USER_AUTH_INPUT_DEVICE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY, 0x0142)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a1ae75dff994bb9cede8b48f3c122b048">SCARD_ATTR_CHARACTERISTICS</a>   SCARD_ATTR_VALUE(SCARD_CLASS_MECHANICAL, 0x0150)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">DWORD indicating which mechanical characteristics are supported. <a href="#a1ae75dff994bb9cede8b48f3c122b048"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76c1d362b156a01b284e8169eaabd4fd"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_PROTOCOL_TYPE" ref="a76c1d362b156a01b284e8169eaabd4fd" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a76c1d362b156a01b284e8169eaabd4fd">SCARD_ATTR_CURRENT_PROTOCOL_TYPE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0201)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a447488ba15bce3e75f62f2c65b052030">SCARD_ATTR_CURRENT_CLK</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0202)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current clock rate, in kHz. <a href="#a447488ba15bce3e75f62f2c65b052030"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#aab6a1f84654ddb09d47feab98d2be554">SCARD_ATTR_CURRENT_F</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0203)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clock conversion factor. <a href="#aab6a1f84654ddb09d47feab98d2be554"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a7940c3ad5296495fad9aa5e04f58c83b">SCARD_ATTR_CURRENT_D</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0204)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Bit rate conversion factor. <a href="#a7940c3ad5296495fad9aa5e04f58c83b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#aedeec28fe350408eccf5b8c98328aaf8">SCARD_ATTR_CURRENT_N</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0205)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current guard time. <a href="#aedeec28fe350408eccf5b8c98328aaf8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#ad50deb32988b5a8168d7a63ebcf463a6">SCARD_ATTR_CURRENT_W</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0206)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current work waiting time. <a href="#ad50deb32988b5a8168d7a63ebcf463a6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#afc64b5592340e1cce3479b54dd7560e9">SCARD_ATTR_CURRENT_IFSC</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0207)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current byte size for information field size card. <a href="#afc64b5592340e1cce3479b54dd7560e9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a1ec6dd8c482a91b0d0bd9e52e5a383f8">SCARD_ATTR_CURRENT_IFSD</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0208)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current byte size for information field size device. <a href="#a1ec6dd8c482a91b0d0bd9e52e5a383f8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a0684ca7b1180d2f3ed44297005c7f9d4">SCARD_ATTR_CURRENT_BWT</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0209)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current block waiting time. <a href="#a0684ca7b1180d2f3ed44297005c7f9d4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#af83058f4dcd2051b74c2e3fc6e02781c">SCARD_ATTR_CURRENT_CWT</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020a)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current character waiting time. <a href="#af83058f4dcd2051b74c2e3fc6e02781c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#ae6d0cc32ff645d19e9180244c4ef3c81">SCARD_ATTR_CURRENT_EBC_ENCODING</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020b)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current error block control encoding. <a href="#ae6d0cc32ff645d19e9180244c4ef3c81"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fcd5c979018130c164a64c728f0716d"></a><!-- doxytag: member="reader.h::SCARD_ATTR_EXTENDED_BWT" ref="a5fcd5c979018130c164a64c728f0716d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a5fcd5c979018130c164a64c728f0716d">SCARD_ATTR_EXTENDED_BWT</a>   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020c)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9f8bb5f689263c35c0888bb37f2ca69"></a><!-- doxytag: member="reader.h::SCARD_ATTR_ICC_PRESENCE" ref="ae9f8bb5f689263c35c0888bb37f2ca69" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#ae9f8bb5f689263c35c0888bb37f2ca69">SCARD_ATTR_ICC_PRESENCE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0300)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Single byte indicating smart card presence. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a222400e1955f63c956437e786197dd27">SCARD_ATTR_ICC_INTERFACE_STATUS</a>   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0301)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Single byte. <a href="#a222400e1955f63c956437e786197dd27"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c6ee3dccc23e924907e3dc2e29a50f6"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_IO_STATE" ref="a9c6ee3dccc23e924907e3dc2e29a50f6" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a9c6ee3dccc23e924907e3dc2e29a50f6">SCARD_ATTR_CURRENT_IO_STATE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0302)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#ae450bada1fa917057610dd0446983784">SCARD_ATTR_ATR_STRING</a>   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0303)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Answer to reset (ATR) string. <a href="#ae450bada1fa917057610dd0446983784"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2563696a9f7abd40684b46db714bfc8b"></a><!-- doxytag: member="reader.h::SCARD_ATTR_ICC_TYPE_PER_ATR" ref="a2563696a9f7abd40684b46db714bfc8b" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a2563696a9f7abd40684b46db714bfc8b">SCARD_ATTR_ICC_TYPE_PER_ATR</a>   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0304)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Single byte indicating smart card type. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55df7896fb65a2a942780d383d815071"></a><!-- doxytag: member="reader.h::SCARD_ATTR_ESC_RESET" ref="a55df7896fb65a2a942780d383d815071" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a55df7896fb65a2a942780d383d815071">SCARD_ATTR_ESC_RESET</a>   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA000)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69d8dd84f5f433efbfa6e0fce2a95528"></a><!-- doxytag: member="reader.h::SCARD_ATTR_ESC_CANCEL" ref="a69d8dd84f5f433efbfa6e0fce2a95528" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a69d8dd84f5f433efbfa6e0fce2a95528">SCARD_ATTR_ESC_CANCEL</a>   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA003)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a1d31628ec9f49f79d2dda6651658d6"></a><!-- doxytag: member="reader.h::SCARD_ATTR_ESC_AUTHREQUEST" ref="a1a1d31628ec9f49f79d2dda6651658d6" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a1a1d31628ec9f49f79d2dda6651658d6">SCARD_ATTR_ESC_AUTHREQUEST</a>   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA005)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42ea634deb1ec51e10722b661aa73d01"></a><!-- doxytag: member="reader.h::SCARD_ATTR_MAXINPUT" ref="a42ea634deb1ec51e10722b661aa73d01" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a42ea634deb1ec51e10722b661aa73d01">SCARD_ATTR_MAXINPUT</a>   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA007)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a529910b9e28448ee881a55125fc9916f">SCARD_ATTR_DEVICE_UNIT</a>   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0001)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Instance of this vendor's reader attached to the computer. <a href="#a529910b9e28448ee881a55125fc9916f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a9ab15f1b788a302737415a13e1546eae">SCARD_ATTR_DEVICE_IN_USE</a>   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0002)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reserved for future use. <a href="#a9ab15f1b788a302737415a13e1546eae"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20856a526eb80b38dbb9cae76c0e9695"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEVICE_FRIENDLY_NAME_A" ref="a20856a526eb80b38dbb9cae76c0e9695" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>SCARD_ATTR_DEVICE_FRIENDLY_NAME_A</b>   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0003)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb9d95d610ac9dab4a2f92b0ae505c05"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEVICE_SYSTEM_NAME_A" ref="adb9d95d610ac9dab4a2f92b0ae505c05" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>SCARD_ATTR_DEVICE_SYSTEM_NAME_A</b>   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0004)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42a558d4d15379554401afcfe128af6a"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEVICE_FRIENDLY_NAME_W" ref="a42a558d4d15379554401afcfe128af6a" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>SCARD_ATTR_DEVICE_FRIENDLY_NAME_W</b>   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0005)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2afd81a9228fc5e4dd19283899387a5b"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEVICE_SYSTEM_NAME_W" ref="a2afd81a9228fc5e4dd19283899387a5b" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>SCARD_ATTR_DEVICE_SYSTEM_NAME_W</b>   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0006)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62d09db2a45663ea726239aeafaac747"></a><!-- doxytag: member="reader.h::SCARD_ATTR_SUPRESS_T1_IFS_REQUEST" ref="a62d09db2a45663ea726239aeafaac747" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a62d09db2a45663ea726239aeafaac747">SCARD_ATTR_SUPRESS_T1_IFS_REQUEST</a>   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0007)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">FIXME. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a362e5f163fda06e0aa6d2964d2a4bbae">SCARD_ATTR_DEVICE_FRIENDLY_NAME</a>   SCARD_ATTR_DEVICE_FRIENDLY_NAME_A</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reader's display name. <a href="#a362e5f163fda06e0aa6d2964d2a4bbae"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#abd1302e7451b1f101898b9bf7d079a6c">SCARD_ATTR_DEVICE_SYSTEM_NAME</a>   SCARD_ATTR_DEVICE_SYSTEM_NAME_A</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reader's system name. <a href="#abd1302e7451b1f101898b9bf7d079a6c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77839183c3ae7b0cea39fbaff9f9aabb"></a><!-- doxytag: member="reader.h::SCARD_CTL_CODE" ref="a77839183c3ae7b0cea39fbaff9f9aabb" args="(code)" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a77839183c3ae7b0cea39fbaff9f9aabb">SCARD_CTL_CODE</a>(code)   (0x42000000 + (code))</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provide source compatibility on different platforms. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee38049affbddd17985ccb9c7fddbd59"></a><!-- doxytag: member="reader.h::CM_IOCTL_GET_FEATURE_REQUEST" ref="aee38049affbddd17985ccb9c7fddbd59" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#aee38049affbddd17985ccb9c7fddbd59">CM_IOCTL_GET_FEATURE_REQUEST</a>   SCARD_CTL_CODE(3400)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">PC/SC part 10 v2.02.07 March 2010 reader tags. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7603c07147ad4679680e0ac5bed9a813"></a><!-- doxytag: member="reader.h::FEATURE_VERIFY_PIN_START" ref="a7603c07147ad4679680e0ac5bed9a813" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_VERIFY_PIN_START</b>   0x01</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd15f7781ea12d19c0d467112421de59"></a><!-- doxytag: member="reader.h::FEATURE_VERIFY_PIN_FINISH" ref="abd15f7781ea12d19c0d467112421de59" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_VERIFY_PIN_FINISH</b>   0x02</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cade36af299e24ce7c7415567d15b99"></a><!-- doxytag: member="reader.h::FEATURE_MODIFY_PIN_START" ref="a1cade36af299e24ce7c7415567d15b99" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_MODIFY_PIN_START</b>   0x03</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af03e174efc3e102763b8aea67d4d3765"></a><!-- doxytag: member="reader.h::FEATURE_MODIFY_PIN_FINISH" ref="af03e174efc3e102763b8aea67d4d3765" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_MODIFY_PIN_FINISH</b>   0x04</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8d741145571293cae23f5f785dd94bc"></a><!-- doxytag: member="reader.h::FEATURE_GET_KEY_PRESSED" ref="aa8d741145571293cae23f5f785dd94bc" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_GET_KEY_PRESSED</b>   0x05</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22729dc39cb7e44fb9f9bc6312cdd470"></a><!-- doxytag: member="reader.h::FEATURE_VERIFY_PIN_DIRECT" ref="a22729dc39cb7e44fb9f9bc6312cdd470" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a22729dc39cb7e44fb9f9bc6312cdd470">FEATURE_VERIFY_PIN_DIRECT</a>   0x06</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Verify PIN. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad76cf0fd82ebd046f7d17c1f7cccb98"></a><!-- doxytag: member="reader.h::FEATURE_MODIFY_PIN_DIRECT" ref="aad76cf0fd82ebd046f7d17c1f7cccb98" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#aad76cf0fd82ebd046f7d17c1f7cccb98">FEATURE_MODIFY_PIN_DIRECT</a>   0x07</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Modify PIN. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf0d528dce86a5bc7b0c842a38844b75"></a><!-- doxytag: member="reader.h::FEATURE_MCT_READERDIRECT" ref="adf0d528dce86a5bc7b0c842a38844b75" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#adf0d528dce86a5bc7b0c842a38844b75">FEATURE_MCT_READERDIRECT</a>   0x08</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">deprecated <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ea8a87403c11251b93cac4b61ca5beb"></a><!-- doxytag: member="reader.h::FEATURE_MCT_READER_DIRECT" ref="a9ea8a87403c11251b93cac4b61ca5beb" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_MCT_READER_DIRECT</b>   0x08</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9473c7b87903e361d0be3917b2141ec"></a><!-- doxytag: member="reader.h::FEATURE_MCT_UNIVERSAL" ref="ac9473c7b87903e361d0be3917b2141ec" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_MCT_UNIVERSAL</b>   0x09</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63ca99c5a5d14f07451463b5551918b5"></a><!-- doxytag: member="reader.h::FEATURE_IFD_PIN_PROPERTIES" ref="a63ca99c5a5d14f07451463b5551918b5" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a63ca99c5a5d14f07451463b5551918b5">FEATURE_IFD_PIN_PROPERTIES</a>   0x0A</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve properties of the IFD regarding PIN handling <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a451fd7b6747a46ce1f8ce58a4fbed367"></a><!-- doxytag: member="reader.h::FEATURE_ABORT" ref="a451fd7b6747a46ce1f8ce58a4fbed367" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_ABORT</b>   0x0B</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5028295dbf419d999fe3496271305d3e"></a><!-- doxytag: member="reader.h::FEATURE_SET_SPE_MESSAGE" ref="a5028295dbf419d999fe3496271305d3e" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_SET_SPE_MESSAGE</b>   0x0C</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a356d19bbfd02b5f44edb801c937cef51"></a><!-- doxytag: member="reader.h::FEATURE_VERIFY_PIN_DIRECT_APP_ID" ref="a356d19bbfd02b5f44edb801c937cef51" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_VERIFY_PIN_DIRECT_APP_ID</b>   0x0D</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97dce3c12dcdc872c29ea09b5a7459d3"></a><!-- doxytag: member="reader.h::FEATURE_MODIFY_PIN_DIRECT_APP_ID" ref="a97dce3c12dcdc872c29ea09b5a7459d3" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_MODIFY_PIN_DIRECT_APP_ID</b>   0x0E</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19ca6dbf70385071eae998cfd2b88a25"></a><!-- doxytag: member="reader.h::FEATURE_WRITE_DISPLAY" ref="a19ca6dbf70385071eae998cfd2b88a25" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_WRITE_DISPLAY</b>   0x0F</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec43114962eaf022d4e41250bcb78205"></a><!-- doxytag: member="reader.h::FEATURE_GET_KEY" ref="aec43114962eaf022d4e41250bcb78205" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_GET_KEY</b>   0x10</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e9e6bd8c4984c85f8b441535fed89df"></a><!-- doxytag: member="reader.h::FEATURE_IFD_DISPLAY_PROPERTIES" ref="a3e9e6bd8c4984c85f8b441535fed89df" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_IFD_DISPLAY_PROPERTIES</b>   0x11</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ce0e36107e6a8c88f9f149c51089f6d"></a><!-- doxytag: member="reader.h::FEATURE_GET_TLV_PROPERTIES" ref="a0ce0e36107e6a8c88f9f149c51089f6d" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_GET_TLV_PROPERTIES</b>   0x12</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11b52df2022115597083fe69b9241fce"></a><!-- doxytag: member="reader.h::FEATURE_CCID_ESC_COMMAND" ref="a11b52df2022115597083fe69b9241fce" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>FEATURE_CCID_ESC_COMMAND</b>   0x13</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3312dc4b9734876727050a2c5585b677"></a><!-- doxytag: member="reader.h::HOST_TO_CCID_16" ref="a3312dc4b9734876727050a2c5585b677" args="(x)" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="reader_8h.html#a3312dc4b9734876727050a2c5585b677">HOST_TO_CCID_16</a>(x)   (x)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Since CCID 1.4.1 (revision 5252) the byte order is no more important These macros are now deprecated and should be removed in the future. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d201a3e0c0909fb29b44b610d8efe3b"></a><!-- doxytag: member="reader.h::HOST_TO_CCID_32" ref="a7d201a3e0c0909fb29b44b610d8efe3b" args="(x)" --> #define </td><td class="memItemRight" valign="bottom"><b>HOST_TO_CCID_32</b>(x)   (x)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91b68e6333559284b4cf1939d1fd2aa6"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_wLcdLayout" ref="a91b68e6333559284b4cf1939d1fd2aa6" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_wLcdLayout</b>   1</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a085000ebc2ff14e29358c5ef950d79f7"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_bEntryValidationCondition" ref="a085000ebc2ff14e29358c5ef950d79f7" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_bEntryValidationCondition</b>   2</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82101d76f95d231763926b5656173a20"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_bTimeOut2" ref="a82101d76f95d231763926b5656173a20" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_bTimeOut2</b>   3</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51378fb8aebf498a153a96c5852e95b1"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_wLcdMaxCharacters" ref="a51378fb8aebf498a153a96c5852e95b1" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_wLcdMaxCharacters</b>   4</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8a7f692fdb9c469ae066c29bc78a280"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_wLcdMaxLines" ref="ae8a7f692fdb9c469ae066c29bc78a280" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_wLcdMaxLines</b>   5</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c94690814ebce1f35500d598b0f6a04"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_bMinPINSize" ref="a1c94690814ebce1f35500d598b0f6a04" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_bMinPINSize</b>   6</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7849040dced45b667f565f225de6fb7f"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_bMaxPINSize" ref="a7849040dced45b667f565f225de6fb7f" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_bMaxPINSize</b>   7</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae515dc9ffa1d769e11d5e3a4c1976365"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_sFirmwareID" ref="ae515dc9ffa1d769e11d5e3a4c1976365" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_sFirmwareID</b>   8</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a144b0dc7b528b5dfb18363becbd2976e"></a><!-- doxytag: member="reader.h::PCSCv2_PART10_PROPERTY_bPPDUSupport" ref="a144b0dc7b528b5dfb18363becbd2976e" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSCv2_PART10_PROPERTY_bPPDUSupport</b>   9</td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This keeps a list of defines shared between the driver and the application. </p> <p>Definition in file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div><hr/><h2>Define Documentation</h2> <a class="anchor" id="ae450bada1fa917057610dd0446983784"></a><!-- doxytag: member="reader.h::SCARD_ATTR_ATR_STRING" ref="ae450bada1fa917057610dd0446983784" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_ATR_STRING   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0303)</td> </tr> </table> </div> <div class="memdoc"> <p>Answer to reset (ATR) string. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00070">70</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a1ae75dff994bb9cede8b48f3c122b048"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CHARACTERISTICS" ref="a1ae75dff994bb9cede8b48f3c122b048" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CHARACTERISTICS   SCARD_ATTR_VALUE(SCARD_CLASS_MECHANICAL, 0x0150)</td> </tr> </table> </div> <div class="memdoc"> <p>DWORD indicating which mechanical characteristics are supported. </p> <p>If zero, no special characteristics are supported. Note that multiple bits can be set </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00052">52</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a0684ca7b1180d2f3ed44297005c7f9d4"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_BWT" ref="a0684ca7b1180d2f3ed44297005c7f9d4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_BWT   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0209)</td> </tr> </table> </div> <div class="memdoc"> <p>Current block waiting time. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00062">62</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a447488ba15bce3e75f62f2c65b052030"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_CLK" ref="a447488ba15bce3e75f62f2c65b052030" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0202)</td> </tr> </table> </div> <div class="memdoc"> <p>Current clock rate, in kHz. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00055">55</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="af83058f4dcd2051b74c2e3fc6e02781c"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_CWT" ref="af83058f4dcd2051b74c2e3fc6e02781c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_CWT   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020a)</td> </tr> </table> </div> <div class="memdoc"> <p>Current character waiting time. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00063">63</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a7940c3ad5296495fad9aa5e04f58c83b"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_D" ref="a7940c3ad5296495fad9aa5e04f58c83b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_D   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0204)</td> </tr> </table> </div> <div class="memdoc"> <p>Bit rate conversion factor. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00057">57</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="ae6d0cc32ff645d19e9180244c4ef3c81"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_EBC_ENCODING" ref="ae6d0cc32ff645d19e9180244c4ef3c81" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_EBC_ENCODING   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020b)</td> </tr> </table> </div> <div class="memdoc"> <p>Current error block control encoding. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00064">64</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="aab6a1f84654ddb09d47feab98d2be554"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_F" ref="aab6a1f84654ddb09d47feab98d2be554" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_F   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0203)</td> </tr> </table> </div> <div class="memdoc"> <p>Clock conversion factor. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00056">56</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="afc64b5592340e1cce3479b54dd7560e9"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_IFSC" ref="afc64b5592340e1cce3479b54dd7560e9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_IFSC   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0207)</td> </tr> </table> </div> <div class="memdoc"> <p>Current byte size for information field size card. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00060">60</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a1ec6dd8c482a91b0d0bd9e52e5a383f8"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_IFSD" ref="a1ec6dd8c482a91b0d0bd9e52e5a383f8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_IFSD   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0208)</td> </tr> </table> </div> <div class="memdoc"> <p>Current byte size for information field size device. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00061">61</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="aedeec28fe350408eccf5b8c98328aaf8"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_N" ref="aedeec28fe350408eccf5b8c98328aaf8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_N   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0205)</td> </tr> </table> </div> <div class="memdoc"> <p>Current guard time. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00058">58</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="ad50deb32988b5a8168d7a63ebcf463a6"></a><!-- doxytag: member="reader.h::SCARD_ATTR_CURRENT_W" ref="ad50deb32988b5a8168d7a63ebcf463a6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_CURRENT_W   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0206)</td> </tr> </table> </div> <div class="memdoc"> <p>Current work waiting time. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00059">59</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="afb122c686777ecf51f106bcc88836270"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEFAULT_CLK" ref="afb122c686777ecf51f106bcc88836270" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_DEFAULT_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0121)</td> </tr> </table> </div> <div class="memdoc"> <p>Default clock rate, in kHz. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00043">43</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="aa4e83e4f0024961638da8c8608c1c50e"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEFAULT_DATA_RATE" ref="aa4e83e4f0024961638da8c8608c1c50e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_DEFAULT_DATA_RATE   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0123)</td> </tr> </table> </div> <div class="memdoc"> <p>Default data rate, in bps. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00045">45</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a362e5f163fda06e0aa6d2964d2a4bbae"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEVICE_FRIENDLY_NAME" ref="a362e5f163fda06e0aa6d2964d2a4bbae" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_DEVICE_FRIENDLY_NAME   SCARD_ATTR_DEVICE_FRIENDLY_NAME_A</td> </tr> </table> </div> <div class="memdoc"> <p>Reader's display name. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00090">90</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> <p>Referenced by <a class="el" href="winscard_8c_source.html#l01317">SCardGetAttrib()</a>.</p> </div> </div> <a class="anchor" id="a9ab15f1b788a302737415a13e1546eae"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEVICE_IN_USE" ref="a9ab15f1b788a302737415a13e1546eae" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_DEVICE_IN_USE   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0002)</td> </tr> </table> </div> <div class="memdoc"> <p>Reserved for future use. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00079">79</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="abd1302e7451b1f101898b9bf7d079a6c"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEVICE_SYSTEM_NAME" ref="abd1302e7451b1f101898b9bf7d079a6c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_DEVICE_SYSTEM_NAME   SCARD_ATTR_DEVICE_SYSTEM_NAME_A</td> </tr> </table> </div> <div class="memdoc"> <p>Reader's system name. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00091">91</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a529910b9e28448ee881a55125fc9916f"></a><!-- doxytag: member="reader.h::SCARD_ATTR_DEVICE_UNIT" ref="a529910b9e28448ee881a55125fc9916f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_DEVICE_UNIT   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0001)</td> </tr> </table> </div> <div class="memdoc"> <p>Instance of this vendor's reader attached to the computer. </p> <p>The first instance will be device unit 0, the next will be unit 1 (if it is the same brand of reader) and so on. Two different brands of readers will both have zero for this value. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00078">78</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a222400e1955f63c956437e786197dd27"></a><!-- doxytag: member="reader.h::SCARD_ATTR_ICC_INTERFACE_STATUS" ref="a222400e1955f63c956437e786197dd27" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_ICC_INTERFACE_STATUS   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0301)</td> </tr> </table> </div> <div class="memdoc"> <p>Single byte. </p> <p>Zero if smart card electrical contact is not active; nonzero if contact is active. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00068">68</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a0a30cd55c56ceeb3f97d8c0c91e68d77"></a><!-- doxytag: member="reader.h::SCARD_ATTR_MAX_CLK" ref="a0a30cd55c56ceeb3f97d8c0c91e68d77" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_MAX_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0122)</td> </tr> </table> </div> <div class="memdoc"> <p>Maximum clock rate, in kHz. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00044">44</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a67cd46e2a022ae72ce6dde4b04c950ff"></a><!-- doxytag: member="reader.h::SCARD_ATTR_MAX_DATA_RATE" ref="a67cd46e2a022ae72ce6dde4b04c950ff" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_MAX_DATA_RATE   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0124)</td> </tr> </table> </div> <div class="memdoc"> <p>Maximum data rate, in bps. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00046">46</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a338aa843f02a567ea406b0c5bd488620"></a><!-- doxytag: member="reader.h::SCARD_ATTR_MAX_IFSD" ref="a338aa843f02a567ea406b0c5bd488620" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_MAX_IFSD   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0125)</td> </tr> </table> </div> <div class="memdoc"> <p>Maximum bytes for information file size device. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00047">47</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a33c927bbe78a8eab44869c04783ea0d2"></a><!-- doxytag: member="reader.h::SCARD_ATTR_POWER_MGMT_SUPPORT" ref="a33c927bbe78a8eab44869c04783ea0d2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_POWER_MGMT_SUPPORT   SCARD_ATTR_VALUE(SCARD_CLASS_POWER_MGMT, 0x0131)</td> </tr> </table> </div> <div class="memdoc"> <p>Zero if device does not support power down while smart card is inserted. </p> <p>Nonzero otherwise. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00049">49</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="ae1143cec3f4ee0f37dee6cdaf8942e8b"></a><!-- doxytag: member="reader.h::SCARD_ATTR_VENDOR_IFD_SERIAL_NO" ref="ae1143cec3f4ee0f37dee6cdaf8942e8b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_VENDOR_IFD_SERIAL_NO   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0103)</td> </tr> </table> </div> <div class="memdoc"> <p>Vendor-supplied interface device serial number. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00040">40</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a5667d6bcd2fb4b0aa5ea43f85a579518"></a><!-- doxytag: member="reader.h::SCARD_ATTR_VENDOR_IFD_TYPE" ref="a5667d6bcd2fb4b0aa5ea43f85a579518" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_VENDOR_IFD_TYPE   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0101)</td> </tr> </table> </div> <div class="memdoc"> <p>Vendor-supplied interface device type (model designation of reader). </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00038">38</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a21105eef90f69895754548688e4b0721"></a><!-- doxytag: member="reader.h::SCARD_ATTR_VENDOR_IFD_VERSION" ref="a21105eef90f69895754548688e4b0721" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_VENDOR_IFD_VERSION   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0102)</td> </tr> </table> </div> <div class="memdoc"> <p>Vendor-supplied interface device version (DWORD in the form 0xMMmmbbbb where MM = major version, mm = minor version, and bbbb = build number). </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00039">39</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> <a class="anchor" id="a8c0b0539cf006d7bfef49db7136cda95"></a><!-- doxytag: member="reader.h::SCARD_ATTR_VENDOR_NAME" ref="a8c0b0539cf006d7bfef49db7136cda95" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SCARD_ATTR_VENDOR_NAME   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0100)</td> </tr> </table> </div> <div class="memdoc"> <p>Vendor name. </p> <p>Definition at line <a class="el" href="reader_8h_source.html#l00037">37</a> of file <a class="el" href="reader_8h_source.html">reader.h</a>.</p> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Thu Sep 15 2011 for pcsc-lite by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>