Module: Smartcard::PCSC::FFILib
- Extended by:
- FFI::Library
- Defined in:
- lib/smartcard/pcsc/ffi_lib.rb,
lib/smartcard/pcsc/ffi_autogen.rb,
lib/smartcard/pcsc/ffi_structs.rb,
lib/smartcard/pcsc/ffi_functions.rb
Overview
FFI to the native PC/SC libraries.
Defined Under Namespace
Modules: Consts Classes: IoRequest, ReaderStateQuery, WordPtr
Constant Summary collapse
- Status =
Error codes returned by the PCSC functions.
enum [ :success, Consts::SCARD_S_SUCCESS, :cancelled, Consts::SCARD_E_CANCELLED, :invalid_handle, Consts::SCARD_E_INVALID_HANDLE, :invalid_parameter, Consts::SCARD_E_INVALID_PARAMETER, :invalid_target, Consts::SCARD_E_INVALID_TARGET, :no_memory, Consts::SCARD_E_NO_MEMORY, :insufficient_buffer, Consts::SCARD_E_INSUFFICIENT_BUFFER, :unknown_reader, Consts::SCARD_E_UNKNOWN_READER, :timeout, Consts::SCARD_E_TIMEOUT, :sharing_violation, Consts::SCARD_E_SHARING_VIOLATION, :no_smartcard, Consts::SCARD_E_NO_SMARTCARD, :unknown_card, Consts::SCARD_E_UNKNOWN_CARD, :cant_dispose, Consts::SCARD_E_CANT_DISPOSE, :proto_mismatch, Consts::SCARD_E_PROTO_MISMATCH, :not_ready, Consts::SCARD_E_NOT_READY, :invalid_value, Consts::SCARD_E_INVALID_VALUE, :system_cancelled, Consts::SCARD_E_SYSTEM_CANCELLED, :invalid_atr, Consts::SCARD_E_INVALID_ATR, :not_transacted, Consts::SCARD_E_NOT_TRANSACTED, :reader_unavailable, Consts::SCARD_E_READER_UNAVAILABLE, :pci_too_small, Consts::SCARD_E_PCI_TOO_SMALL, :reader_unsupported, Consts::SCARD_E_READER_UNSUPPORTED, :duplicate_reader, Consts::SCARD_E_DUPLICATE_READER, :card_unsupported, Consts::SCARD_E_CARD_UNSUPPORTED, :no_service, Consts::SCARD_E_NO_SERVICE, :service_stopped, Consts::SCARD_E_SERVICE_STOPPED, :unexpected, Consts::SCARD_E_UNEXPECTED, :unsupported_feature, Consts::SCARD_E_UNSUPPORTED_FEATURE, :icc_installation, Consts::SCARD_E_ICC_INSTALLATION, :icc_createorder, Consts::SCARD_E_ICC_CREATEORDER, :dir_not_found, Consts::SCARD_E_DIR_NOT_FOUND, :file_not_found, Consts::SCARD_E_FILE_NOT_FOUND, :no_dir, Consts::SCARD_E_NO_DIR, :no_file, Consts::SCARD_E_NO_FILE, :no_access, Consts::SCARD_E_NO_ACCESS, :write_too_many, Consts::SCARD_E_WRITE_TOO_MANY, :bad_seek, Consts::SCARD_E_BAD_SEEK, :invalid_chv, Consts::SCARD_E_INVALID_CHV, :unknown_res_mng, Consts::SCARD_E_UNKNOWN_RES_MNG, :no_such_certificate, Consts::SCARD_E_NO_SUCH_CERTIFICATE, :certificate_unavailable, Consts::SCARD_E_CERTIFICATE_UNAVAILABLE, :no_readers_available, Consts::SCARD_E_NO_READERS_AVAILABLE, :comm_data_lost, Consts::SCARD_E_COMM_DATA_LOST, :no_key_container, Consts::SCARD_E_NO_KEY_CONTAINER, :server_too_busy, Consts::SCARD_E_SERVER_TOO_BUSY, :unsupported_card, Consts::SCARD_W_UNSUPPORTED_CARD, :unresponsive_card, Consts::SCARD_W_UNRESPONSIVE_CARD, :unpowered_card, Consts::SCARD_W_UNPOWERED_CARD, :reset_card, Consts::SCARD_W_RESET_CARD, :removed_card, Consts::SCARD_W_REMOVED_CARD, :security_violation, Consts::SCARD_W_SECURITY_VIOLATION, :wrong_chv, Consts::SCARD_W_WRONG_CHV, :chv_blocked, Consts::SCARD_W_CHV_BLOCKED, :eof, Consts::SCARD_W_EOF, :cancelled_by_user, Consts::SCARD_W_CANCELLED_BY_USER, :card_not_authenticated, Consts::SCARD_W_CARD_NOT_AUTHENTICATED, ]
- Scope =
Values for the context’s scope.
enum [ :user, Consts::SCARD_SCOPE_USER, :terminal, Consts::SCARD_SCOPE_TERMINAL, :system, Consts::SCARD_SCOPE_SYSTEM, ]
- Protocol =
Smart-card communication protocols.
enum [ :undefined, Consts::SCARD_PROTOCOL_UNDEFINED, :unset, Consts::SCARD_PROTOCOL_UNSET, :t0, Consts::SCARD_PROTOCOL_T0, :t1, Consts::SCARD_PROTOCOL_T1, :raw, Consts::SCARD_PROTOCOL_RAW, :t15, Consts::SCARD_PROTOCOL_T15, :any, Consts::SCARD_PROTOCOL_ANY, ]
enum [ :exclusive, Consts::SCARD_SHARE_EXCLUSIVE, :shared, Consts::SCARD_SHARE_SHARED, :direct, Consts::SCARD_SHARE_DIRECT, ]
- Disposition =
Smart-card dispositions.
enum [ :leave, Consts::SCARD_LEAVE_CARD, :reset, Consts::SCARD_RESET_CARD, :unpower, Consts::SCARD_UNPOWER_CARD, :eject, Consts::SCARD_EJECT_CARD, ]
- Attribute =
Smart-card reader attributes.
enum [ :vendor_name, Consts::SCARD_ATTR_VENDOR_NAME, :vendor_ifd_type, Consts::SCARD_ATTR_VENDOR_IFD_TYPE, :vendor_ifd_version, Consts::SCARD_ATTR_VENDOR_IFD_VERSION, :vendor_ifd_serial_no, Consts::SCARD_ATTR_VENDOR_IFD_SERIAL_NO, :channel_id, Consts::SCARD_ATTR_CHANNEL_ID, :async_protocol_types, Consts::SCARD_ATTR_ASYNC_PROTOCOL_TYPES, :default_clk, Consts::SCARD_ATTR_DEFAULT_CLK, :max_clk, Consts::SCARD_ATTR_MAX_CLK, :default_data_rate, Consts::SCARD_ATTR_DEFAULT_DATA_RATE, :max_data_rate, Consts::SCARD_ATTR_MAX_DATA_RATE, :max_ifsd, Consts::SCARD_ATTR_MAX_IFSD, :sync_protocol_types, Consts::SCARD_ATTR_SYNC_PROTOCOL_TYPES, :power_mgmt_support, Consts::SCARD_ATTR_POWER_MGMT_SUPPORT, :user_to_card_auth_device, Consts::SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE, :user_auth_input_device, Consts::SCARD_ATTR_USER_AUTH_INPUT_DEVICE, :characteristics, Consts::SCARD_ATTR_CHARACTERISTICS, :current_protocol_type, Consts::SCARD_ATTR_CURRENT_PROTOCOL_TYPE, :current_clk, Consts::SCARD_ATTR_CURRENT_CLK, :current_f, Consts::SCARD_ATTR_CURRENT_F, :current_d, Consts::SCARD_ATTR_CURRENT_D, :current_n, Consts::SCARD_ATTR_CURRENT_N, :current_w, Consts::SCARD_ATTR_CURRENT_W, :current_ifsc, Consts::SCARD_ATTR_CURRENT_IFSC, :current_ifsd, Consts::SCARD_ATTR_CURRENT_IFSD, :current_bwt, Consts::SCARD_ATTR_CURRENT_BWT, :current_cwt, Consts::SCARD_ATTR_CURRENT_CWT, :current_ebc_encoding, Consts::SCARD_ATTR_CURRENT_EBC_ENCODING, :extended_bwt, Consts::SCARD_ATTR_EXTENDED_BWT, :icc_presence, Consts::SCARD_ATTR_ICC_PRESENCE, :icc_interface_status, Consts::SCARD_ATTR_ICC_INTERFACE_STATUS, :current_io_state, Consts::SCARD_ATTR_CURRENT_IO_STATE, :atr_string, Consts::SCARD_ATTR_ATR_STRING, :icc_type_per_atr, Consts::SCARD_ATTR_ICC_TYPE_PER_ATR, :esc_reset, Consts::SCARD_ATTR_ESC_RESET, :esc_cancel, Consts::SCARD_ATTR_ESC_CANCEL, :esc_authrequest, Consts::SCARD_ATTR_ESC_AUTHREQUEST, :maxinput, Consts::SCARD_ATTR_MAXINPUT, :device_unit, Consts::SCARD_ATTR_DEVICE_UNIT, :device_in_use, Consts::SCARD_ATTR_DEVICE_IN_USE, :device_friendly_name_a, Consts::SCARD_ATTR_DEVICE_FRIENDLY_NAME_A, :device_system_name_a, Consts::SCARD_ATTR_DEVICE_SYSTEM_NAME_A, :device_friendly_name_w, Consts::SCARD_ATTR_DEVICE_FRIENDLY_NAME_W, :device_system_name_w, Consts::SCARD_ATTR_DEVICE_SYSTEM_NAME_W, :supress_t1_ifs_request, Consts::SCARD_ATTR_SUPRESS_T1_IFS_REQUEST, :device_friendly_name, Consts::SCARD_ATTR_DEVICE_FRIENDLY_NAME, :device_system_name, Consts::SCARD_ATTR_DEVICE_SYSTEM_NAME, ]
- CardState =
Smart-card states.
enum [ :unaware, Consts::SCARD_STATE_UNAWARE, :ignore, Consts::SCARD_STATE_IGNORE, :changed, Consts::SCARD_STATE_CHANGED, :unknown, Consts::SCARD_STATE_UNKNOWN, :unavailable, Consts::SCARD_STATE_UNAVAILABLE, :empty, Consts::SCARD_STATE_EMPTY, :present, Consts::SCARD_STATE_PRESENT, :atrmatch, Consts::SCARD_STATE_ATRMATCH, :exclusive, Consts::SCARD_STATE_EXCLUSIVE, :inuse, Consts::SCARD_STATE_INUSE, :mute, Consts::SCARD_STATE_MUTE, :unpowered, Consts::SCARD_STATE_UNPOWERED, ]
- State =
Smart-card reader states.
enum [ :autoallocate, Consts::SCARD_AUTOALLOCATE, :unknown, Consts::SCARD_UNKNOWN, :absent, Consts::SCARD_ABSENT, :present, Consts::SCARD_PRESENT, :swallowed, Consts::SCARD_SWALLOWED, :powered, Consts::SCARD_POWERED, :negotiable, Consts::SCARD_NEGOTIABLE, :specific, Consts::SCARD_SPECIFIC, ]
- Word =
64-bit MacOS is different from 64-bit Linux.
:ulong
- PROTOCOLS =
Protocol enum members, indexed by their numeric value.
Protocol.to_h.invert