[][src]Crate pcsc_sys

Low level bindings to the PCSC C API.

The following platforms are supported:

  • On Windows, the built-in WinSCard.dll library and "Smart Card" service. See MSDN for documentation of the implemented API.

  • On macOS, the built-in PCSC framework.

  • On Linux, BSDs and (hopefully) other systems, the PCSC lite library and pcscd daemon. See pcsclite for documentation of the implemented API.

    pcsclite is detected at build time using pkg-config. See the pkg-config crate for more information.

    If you do not want to use pkg-config, you may instead export the following environment variables when building the crate:

    • PCSC_LIB_DIR: A directory in which to search for a dynamic library implementing the PCSC API.
    • PCSC_LIB_NAME: The name of the library. Defaults to pcsclite.

Structs

SCARD_IO_REQUEST
SCARD_READERSTATE

Constants

ATR_BUFFER_SIZE
INFINITE
MAX_ATR_SIZE
MAX_BUFFER_SIZE
MAX_BUFFER_SIZE_EXTENDED
SCARD_ABSENT
SCARD_ATR_LENGTH
SCARD_ATTR_ASYNC_PROTOCOL_TYPES
SCARD_ATTR_ATR_STRING
SCARD_ATTR_CHANNEL_ID
SCARD_ATTR_CHARACTERISTICS
SCARD_ATTR_CURRENT_BWT
SCARD_ATTR_CURRENT_CLK
SCARD_ATTR_CURRENT_CWT
SCARD_ATTR_CURRENT_D
SCARD_ATTR_CURRENT_EBC_ENCODING
SCARD_ATTR_CURRENT_F
SCARD_ATTR_CURRENT_IFSC
SCARD_ATTR_CURRENT_IFSD
SCARD_ATTR_CURRENT_IO_STATE
SCARD_ATTR_CURRENT_N
SCARD_ATTR_CURRENT_PROTOCOL_TYPE
SCARD_ATTR_CURRENT_W
SCARD_ATTR_DEFAULT_CLK
SCARD_ATTR_DEFAULT_DATA_RATE
SCARD_ATTR_DEVICE_FRIENDLY_NAME
SCARD_ATTR_DEVICE_FRIENDLY_NAME_A
SCARD_ATTR_DEVICE_FRIENDLY_NAME_W
SCARD_ATTR_DEVICE_IN_USE
SCARD_ATTR_DEVICE_SYSTEM_NAME
SCARD_ATTR_DEVICE_SYSTEM_NAME_A
SCARD_ATTR_DEVICE_SYSTEM_NAME_W
SCARD_ATTR_DEVICE_UNIT
SCARD_ATTR_ESC_AUTHREQUEST
SCARD_ATTR_ESC_CANCEL
SCARD_ATTR_ESC_RESET
SCARD_ATTR_EXTENDED_BWT
SCARD_ATTR_ICC_INTERFACE_STATUS
SCARD_ATTR_ICC_PRESENCE
SCARD_ATTR_ICC_TYPE_PER_ATR
SCARD_ATTR_MAXINPUT
SCARD_ATTR_MAX_CLK
SCARD_ATTR_MAX_DATA_RATE
SCARD_ATTR_MAX_IFSD
SCARD_ATTR_POWER_MGMT_SUPPORT
SCARD_ATTR_SUPRESS_T1_IFS_REQUEST
SCARD_ATTR_SYNC_PROTOCOL_TYPES
SCARD_ATTR_USER_AUTH_INPUT_DEVICE
SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE
SCARD_ATTR_VENDOR_IFD_SERIAL_NO
SCARD_ATTR_VENDOR_IFD_TYPE
SCARD_ATTR_VENDOR_IFD_VERSION
SCARD_ATTR_VENDOR_NAME
SCARD_AUTOALLOCATE
SCARD_CLASS_COMMUNICATIONS
SCARD_CLASS_ICC_STATE
SCARD_CLASS_IFD_PROTOCOL
SCARD_CLASS_MECHANICAL
SCARD_CLASS_POWER_MGMT
SCARD_CLASS_PROTOCOL
SCARD_CLASS_SECURITY
SCARD_CLASS_SYSTEM
SCARD_CLASS_VENDOR_DEFINED
SCARD_CLASS_VENDOR_INFO
SCARD_EJECT_CARD
SCARD_E_BAD_SEEK
SCARD_E_CANCELLED
SCARD_E_CANT_DISPOSE
SCARD_E_CARD_UNSUPPORTED
SCARD_E_CERTIFICATE_UNAVAILABLE
SCARD_E_COMM_DATA_LOST
SCARD_E_DIR_NOT_FOUND
SCARD_E_DUPLICATE_READER
SCARD_E_FILE_NOT_FOUND
SCARD_E_ICC_CREATEORDER
SCARD_E_ICC_INSTALLATION
SCARD_E_INSUFFICIENT_BUFFER
SCARD_E_INVALID_ATR
SCARD_E_INVALID_CHV
SCARD_E_INVALID_HANDLE
SCARD_E_INVALID_PARAMETER
SCARD_E_INVALID_TARGET
SCARD_E_INVALID_VALUE
SCARD_E_NOT_READY
SCARD_E_NOT_TRANSACTED
SCARD_E_NO_ACCESS
SCARD_E_NO_DIR
SCARD_E_NO_FILE
SCARD_E_NO_KEY_CONTAINER
SCARD_E_NO_MEMORY
SCARD_E_NO_READERS_AVAILABLE
SCARD_E_NO_SERVICE
SCARD_E_NO_SMARTCARD
SCARD_E_NO_SUCH_CERTIFICATE
SCARD_E_PCI_TOO_SMALL
SCARD_E_PROTO_MISMATCH
SCARD_E_READER_UNAVAILABLE
SCARD_E_READER_UNSUPPORTED
SCARD_E_SERVER_TOO_BUSY
SCARD_E_SERVICE_STOPPED
SCARD_E_SHARING_VIOLATION
SCARD_E_SYSTEM_CANCELLED
SCARD_E_TIMEOUT
SCARD_E_UNEXPECTED
SCARD_E_UNKNOWN_CARD
SCARD_E_UNKNOWN_READER
SCARD_E_UNKNOWN_RES_MNG
SCARD_E_UNSUPPORTED_FEATURE
SCARD_E_WRITE_TOO_MANY
SCARD_F_COMM_ERROR
SCARD_F_INTERNAL_ERROR
SCARD_F_UNKNOWN_ERROR
SCARD_F_WAITED_TOO_LONG
SCARD_LEAVE_CARD
SCARD_NEGOTIABLE
SCARD_POWERED
SCARD_PRESENT
SCARD_PROTOCOL_ANY
SCARD_PROTOCOL_RAW
SCARD_PROTOCOL_T0
SCARD_PROTOCOL_T1
SCARD_PROTOCOL_T15
SCARD_PROTOCOL_UNDEFINED
SCARD_PROTOCOL_UNSET
SCARD_P_SHUTDOWN
SCARD_RESET_CARD
SCARD_SCOPE_GLOBAL
SCARD_SCOPE_SYSTEM
SCARD_SCOPE_TERMINAL
SCARD_SCOPE_USER
SCARD_SHARE_DIRECT
SCARD_SHARE_EXCLUSIVE
SCARD_SHARE_SHARED
SCARD_SPECIFIC
SCARD_STATE_ATRMATCH
SCARD_STATE_CHANGED
SCARD_STATE_EMPTY
SCARD_STATE_EXCLUSIVE
SCARD_STATE_IGNORE
SCARD_STATE_INUSE
SCARD_STATE_MUTE
SCARD_STATE_PRESENT
SCARD_STATE_UNAVAILABLE
SCARD_STATE_UNAWARE
SCARD_STATE_UNKNOWN
SCARD_STATE_UNPOWERED
SCARD_SWALLOWED
SCARD_S_SUCCESS
SCARD_UNKNOWN
SCARD_UNPOWER_CARD
SCARD_W_CACHE_ITEM_NOT_FOUND
SCARD_W_CACHE_ITEM_STALE
SCARD_W_CACHE_ITEM_TOO_BIG
SCARD_W_CANCELLED_BY_USER
SCARD_W_CARD_NOT_AUTHENTICATED
SCARD_W_CHV_BLOCKED
SCARD_W_EOF
SCARD_W_REMOVED_CARD
SCARD_W_RESET_CARD
SCARD_W_SECURITY_VIOLATION
SCARD_W_UNPOWERED_CARD
SCARD_W_UNRESPONSIVE_CARD
SCARD_W_UNSUPPORTED_CARD
SCARD_W_WRONG_CHV

Statics

g_rgSCardRawPci
g_rgSCardT0Pci
g_rgSCardT1Pci

Functions

SCARD_CTL_CODE
SCardBeginTransaction
SCardCancel
SCardConnect
SCardControl
SCardDisconnect
SCardEndTransaction
SCardEstablishContext
SCardGetAttrib
SCardGetStatusChange
SCardIsValidContext
SCardListReaders
SCardReconnect
SCardReleaseContext
SCardSetAttrib
SCardStatus
SCardTransmit

Type Definitions

DWORD
LONG
SCARDCONTEXT
SCARDHANDLE
ULONG