reader.h File Reference

This keeps a list of defines shared between the driver and the application. More...

#include <inttypes.h>

Include dependency graph for reader.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PCSC_TLV_STRUCTURE
 the structure must be 6-bytes long More...
struct  PIN_VERIFY_STRUCTURE
 structure used with FEATURE_VERIFY_PIN_DIRECT More...
struct  PIN_MODIFY_STRUCTURE
 structure used with FEATURE_MODIFY_PIN_DIRECT More...

Defines

#define SCARD_ATTR_VALUE(Class, Tag)   ((((ULONG)(Class)) << 16) | ((ULONG)(Tag)))
#define SCARD_CLASS_VENDOR_INFO   1
 Vendor information definitions.
#define SCARD_CLASS_COMMUNICATIONS   2
 Communication definitions.
#define SCARD_CLASS_PROTOCOL   3
 Protocol definitions.
#define SCARD_CLASS_POWER_MGMT   4
 Power Management definitions.
#define SCARD_CLASS_SECURITY   5
 Security Assurance definitions.
#define SCARD_CLASS_MECHANICAL   6
 Mechanical characteristic definitions.
#define SCARD_CLASS_VENDOR_DEFINED   7
 Vendor specific definitions.
#define SCARD_CLASS_IFD_PROTOCOL   8
 Interface Device Protocol options.
#define SCARD_CLASS_ICC_STATE   9
 ICC State specific definitions.
#define SCARD_CLASS_SYSTEM   0x7fff
 System-specific definitions.
#define SCARD_ATTR_VENDOR_NAME   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0100)
 Vendor name.
#define SCARD_ATTR_VENDOR_IFD_TYPE   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0101)
 Vendor-supplied interface device type (model designation of reader).
#define SCARD_ATTR_VENDOR_IFD_VERSION   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0102)
 Vendor-supplied interface device version (DWORD in the form 0xMMmmbbbb where MM = major version, mm = minor version, and bbbb = build number).
#define SCARD_ATTR_VENDOR_IFD_SERIAL_NO   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0103)
 Vendor-supplied interface device serial number.
#define SCARD_ATTR_CHANNEL_ID   SCARD_ATTR_VALUE(SCARD_CLASS_COMMUNICATIONS, 0x0110)
 DWORD encoded as 0xDDDDCCCC, where DDDD = data channel type and CCCC = channel number.
#define SCARD_ATTR_ASYNC_PROTOCOL_TYPES   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0120)
 FIXME.
#define SCARD_ATTR_DEFAULT_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0121)
 Default clock rate, in kHz.
#define SCARD_ATTR_MAX_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0122)
 Maximum clock rate, in kHz.
#define SCARD_ATTR_DEFAULT_DATA_RATE   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0123)
 Default data rate, in bps.
#define SCARD_ATTR_MAX_DATA_RATE   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0124)
 Maximum data rate, in bps.
#define SCARD_ATTR_MAX_IFSD   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0125)
 Maximum bytes for information file size device.
#define SCARD_ATTR_SYNC_PROTOCOL_TYPES   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0126)
 FIXME.
#define SCARD_ATTR_POWER_MGMT_SUPPORT   SCARD_ATTR_VALUE(SCARD_CLASS_POWER_MGMT, 0x0131)
 Zero if device does not support power down while smart card is inserted.
#define SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE   SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY, 0x0140)
 FIXME.
#define SCARD_ATTR_USER_AUTH_INPUT_DEVICE   SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY, 0x0142)
 FIXME.
#define SCARD_ATTR_CHARACTERISTICS   SCARD_ATTR_VALUE(SCARD_CLASS_MECHANICAL, 0x0150)
 DWORD indicating which mechanical characteristics are supported.
#define SCARD_ATTR_CURRENT_PROTOCOL_TYPE   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0201)
 FIXME.
#define SCARD_ATTR_CURRENT_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0202)
 Current clock rate, in kHz.
#define SCARD_ATTR_CURRENT_F   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0203)
 Clock conversion factor.
#define SCARD_ATTR_CURRENT_D   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0204)
 Bit rate conversion factor.
#define SCARD_ATTR_CURRENT_N   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0205)
 Current guard time.
#define SCARD_ATTR_CURRENT_W   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0206)
 Current work waiting time.
#define SCARD_ATTR_CURRENT_IFSC   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0207)
 Current byte size for information field size card.
#define SCARD_ATTR_CURRENT_IFSD   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0208)
 Current byte size for information field size device.
#define SCARD_ATTR_CURRENT_BWT   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0209)
 Current block waiting time.
#define SCARD_ATTR_CURRENT_CWT   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020a)
 Current character waiting time.
#define SCARD_ATTR_CURRENT_EBC_ENCODING   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020b)
 Current error block control encoding.
#define SCARD_ATTR_EXTENDED_BWT   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020c)
 FIXME.
#define SCARD_ATTR_ICC_PRESENCE   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0300)
 Single byte indicating smart card presence.
#define SCARD_ATTR_ICC_INTERFACE_STATUS   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0301)
 Single byte.
#define SCARD_ATTR_CURRENT_IO_STATE   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0302)
 FIXME.
#define SCARD_ATTR_ATR_STRING   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0303)
 Answer to reset (ATR) string.
#define SCARD_ATTR_ICC_TYPE_PER_ATR   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0304)
 Single byte indicating smart card type.
#define SCARD_ATTR_ESC_RESET   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA000)
 FIXME.
#define SCARD_ATTR_ESC_CANCEL   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA003)
 FIXME.
#define SCARD_ATTR_ESC_AUTHREQUEST   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA005)
 FIXME.
#define SCARD_ATTR_MAXINPUT   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA007)
 FIXME.
#define SCARD_ATTR_DEVICE_UNIT   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0001)
 Instance of this vendor's reader attached to the computer.
#define SCARD_ATTR_DEVICE_IN_USE   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0002)
 Reserved for future use.
#define SCARD_ATTR_DEVICE_FRIENDLY_NAME_A   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0003)
#define SCARD_ATTR_DEVICE_SYSTEM_NAME_A   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0004)
#define SCARD_ATTR_DEVICE_FRIENDLY_NAME_W   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0005)
#define SCARD_ATTR_DEVICE_SYSTEM_NAME_W   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0006)
#define SCARD_ATTR_SUPRESS_T1_IFS_REQUEST   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0007)
 FIXME.
#define SCARD_ATTR_DEVICE_FRIENDLY_NAME   SCARD_ATTR_DEVICE_FRIENDLY_NAME_A
 Reader's display name.
#define SCARD_ATTR_DEVICE_SYSTEM_NAME   SCARD_ATTR_DEVICE_SYSTEM_NAME_A
 Reader's system name.
#define SCARD_CTL_CODE(code)   (0x42000000 + (code))
 Provide source compatibility on different platforms.
#define CM_IOCTL_GET_FEATURE_REQUEST   SCARD_CTL_CODE(3400)
 TeleTrust Class 2 reader tags.
#define FEATURE_VERIFY_PIN_START   0x01
 OMNIKEY Proposal.
#define FEATURE_VERIFY_PIN_FINISH   0x02
 OMNIKEY Proposal.
#define FEATURE_MODIFY_PIN_START   0x03
 OMNIKEY Proposal.
#define FEATURE_MODIFY_PIN_FINISH   0x04
 OMNIKEY Proposal.
#define FEATURE_GET_KEY_PRESSED   0x05
 OMNIKEY Proposal.
#define FEATURE_VERIFY_PIN_DIRECT   0x06
 USB CCID PIN Verify.
#define FEATURE_MODIFY_PIN_DIRECT   0x07
 USB CCID PIN Modify.
#define FEATURE_MCT_READERDIRECT   0x08
 KOBIL Proposal.
#define FEATURE_MCT_UNIVERSAL   0x09
 KOBIL Proposal.
#define FEATURE_IFD_PIN_PROP   0x0A
 Gemplus Proposal.
#define FEATURE_ABORT   0x0B
 SCM Proposal.
#define HOST_TO_CCID_16(x)   ((((x) >> 8) & 0xFF) + ((x & 0xFF) << 8))
 the wLangId and wPINMaxExtraDigit are 16-bits long so are subject to byte ordering
#define HOST_TO_CCID_32(x)   ((((x) >> 24) & 0xFF) + (((x) >> 8) & 0xFF00) + ((x & 0xFF00) << 8) + (((x) & 0xFF) << 24))


Detailed Description

This keeps a list of defines shared between the driver and the application.

Definition in file reader.h.


Define Documentation

#define SCARD_ATTR_ATR_STRING   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0303)

Answer to reset (ATR) string.

Definition at line 69 of file reader.h.

#define SCARD_ATTR_CHARACTERISTICS   SCARD_ATTR_VALUE(SCARD_CLASS_MECHANICAL, 0x0150)

DWORD indicating which mechanical characteristics are supported.

If zero, no special characteristics are supported. Note that multiple bits can be set

Definition at line 51 of file reader.h.

#define SCARD_ATTR_CURRENT_BWT   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0209)

Current block waiting time.

Definition at line 61 of file reader.h.

#define SCARD_ATTR_CURRENT_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0202)

Current clock rate, in kHz.

Definition at line 54 of file reader.h.

#define SCARD_ATTR_CURRENT_CWT   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020a)

Current character waiting time.

Definition at line 62 of file reader.h.

#define SCARD_ATTR_CURRENT_D   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0204)

Bit rate conversion factor.

Definition at line 56 of file reader.h.

#define SCARD_ATTR_CURRENT_EBC_ENCODING   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020b)

Current error block control encoding.

Definition at line 63 of file reader.h.

#define SCARD_ATTR_CURRENT_F   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0203)

Clock conversion factor.

Definition at line 55 of file reader.h.

#define SCARD_ATTR_CURRENT_IFSC   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0207)

Current byte size for information field size card.

Definition at line 59 of file reader.h.

#define SCARD_ATTR_CURRENT_IFSD   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0208)

Current byte size for information field size device.

Definition at line 60 of file reader.h.

#define SCARD_ATTR_CURRENT_N   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0205)

Current guard time.

Definition at line 57 of file reader.h.

#define SCARD_ATTR_CURRENT_W   SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0206)

Current work waiting time.

Definition at line 58 of file reader.h.

#define SCARD_ATTR_DEFAULT_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0121)

Default clock rate, in kHz.

Definition at line 42 of file reader.h.

#define SCARD_ATTR_DEFAULT_DATA_RATE   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0123)

Default data rate, in bps.

Definition at line 44 of file reader.h.

#define SCARD_ATTR_DEVICE_FRIENDLY_NAME   SCARD_ATTR_DEVICE_FRIENDLY_NAME_A

Reader's display name.

Definition at line 89 of file reader.h.

#define SCARD_ATTR_DEVICE_IN_USE   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0002)

Reserved for future use.

Definition at line 78 of file reader.h.

#define SCARD_ATTR_DEVICE_SYSTEM_NAME   SCARD_ATTR_DEVICE_SYSTEM_NAME_A

Reader's system name.

Definition at line 90 of file reader.h.

#define SCARD_ATTR_DEVICE_UNIT   SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0001)

Instance of this vendor's reader attached to the computer.

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.

Definition at line 77 of file reader.h.

#define SCARD_ATTR_ICC_INTERFACE_STATUS   SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0301)

Single byte.

Zero if smart card electrical contact is not active; nonzero if contact is active.

Definition at line 67 of file reader.h.

#define SCARD_ATTR_MAX_CLK   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0122)

Maximum clock rate, in kHz.

Definition at line 43 of file reader.h.

#define SCARD_ATTR_MAX_DATA_RATE   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0124)

Maximum data rate, in bps.

Definition at line 45 of file reader.h.

#define SCARD_ATTR_MAX_IFSD   SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0125)

Maximum bytes for information file size device.

Definition at line 46 of file reader.h.

#define SCARD_ATTR_POWER_MGMT_SUPPORT   SCARD_ATTR_VALUE(SCARD_CLASS_POWER_MGMT, 0x0131)

Zero if device does not support power down while smart card is inserted.

Nonzero otherwise.

Definition at line 48 of file reader.h.

#define SCARD_ATTR_VENDOR_IFD_SERIAL_NO   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0103)

Vendor-supplied interface device serial number.

Definition at line 39 of file reader.h.

#define SCARD_ATTR_VENDOR_IFD_TYPE   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0101)

Vendor-supplied interface device type (model designation of reader).

Definition at line 37 of file reader.h.

#define SCARD_ATTR_VENDOR_IFD_VERSION   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0102)

Vendor-supplied interface device version (DWORD in the form 0xMMmmbbbb where MM = major version, mm = minor version, and bbbb = build number).

Definition at line 38 of file reader.h.

#define SCARD_ATTR_VENDOR_NAME   SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0100)

Vendor name.

Definition at line 36 of file reader.h.


Generated on Mon Aug 17 01:00:14 2009 for pcsc-lite by  doxygen 1.5.9