aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/winscard.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/winscard.rs')
-rw-r--r--vendor/winapi/src/um/winscard.rs709
1 files changed, 0 insertions, 709 deletions
diff --git a/vendor/winapi/src/um/winscard.rs b/vendor/winapi/src/um/winscard.rs
deleted file mode 100644
index 5adaec7..0000000
--- a/vendor/winapi/src/um/winscard.rs
+++ /dev/null
@@ -1,709 +0,0 @@
-// Licensed under the Apache License, Version 2.0
-// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
-// All files in the project carrying such notice may not be copied, modified, or distributed
-// except according to those terms.
-//! Data Protection API Prototypes and Definitions
-// This header file provides the definitions and symbols necessary for an
-// Application or Smart Card Service Provider to access the Smartcard Subsystem.
-use shared::basetsd::ULONG_PTR;
-use shared::guiddef::{LPCGUID, LPGUID};
-use shared::minwindef::{BOOL, BYTE, DWORD, LPBYTE, LPCVOID, LPDWORD, LPVOID, PBYTE};
-use shared::rpcdce::UUID;
-use shared::windef::{HICON, HWND};
-use um::winnt::{CHAR, HANDLE, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PVOID, WCHAR};
-use um::winsmcrd::{LPCSCARD_IO_REQUEST, LPSCARD_IO_REQUEST};
-pub type LPCBYTE = *const BYTE;
-pub type SCARDCONTEXT = ULONG_PTR;
-pub type PSCARDCONTEXT = *mut SCARDCONTEXT;
-pub type LPSCARDCONTEXT = *mut SCARDCONTEXT;
-pub type SCARDHANDLE = ULONG_PTR;
-pub type PSCARDHANDLE = *mut SCARDHANDLE;
-pub type LPSCARDHANDLE = *mut SCARDHANDLE;
-pub const SCARD_AUTOALLOCATE: DWORD = -1i32 as u32;
-pub const SCARD_SCOPE_USER: DWORD = 0;
-pub const SCARD_SCOPE_TERMINAL: DWORD = 1;
-pub const SCARD_SCOPE_SYSTEM: DWORD = 2;
-extern "system" {
- pub fn SCardEstablishContext(
- dwScope: DWORD,
- pvReserved1: LPCVOID,
- pvReserved2: LPCVOID,
- phContext: LPSCARDCONTEXT,
- ) -> LONG;
- pub fn SCardReleaseContext(
- hContext: SCARDCONTEXT,
- ) -> LONG;
- pub fn SCardIsValidContext(
- hContext: SCARDCONTEXT,
- ) -> LONG;
-}
-pub const SCARD_PROVIDER_PRIMARY: DWORD = 1;
-pub const SCARD_PROVIDER_CSP: DWORD = 2;
-pub const SCARD_PROVIDER_KSP: DWORD = 3;
-extern "system" {
- pub fn SCardListReaderGroupsA(
- hContext: SCARDCONTEXT,
- mszGroups: LPSTR,
- pcchGroups: LPDWORD,
- ) -> LONG;
- pub fn SCardListReaderGroupsW(
- hContext: SCARDCONTEXT,
- mszGroups: LPWSTR,
- pcchGroups: LPDWORD,
- ) -> LONG;
- pub fn SCardListReadersA(
- hContext: SCARDCONTEXT,
- mszGroups: LPCSTR,
- mszReaders: LPSTR,
- pcchReaders: LPDWORD,
- ) -> LONG;
- pub fn SCardListReadersW(
- hContext: SCARDCONTEXT,
- mszGroups: LPCWSTR,
- mszReaders: LPWSTR,
- pcchReaders: LPDWORD,
- ) -> LONG;
- pub fn SCardListCardsA(
- hContext: SCARDCONTEXT,
- pbAtr: LPCBYTE,
- rgquidInterfaces: LPCGUID,
- cguidInterfaceCount: DWORD,
- mszCards: *mut CHAR,
- pcchCards: LPDWORD,
- ) -> LONG;
- pub fn SCardListCardsW(
- hContext: SCARDCONTEXT,
- pbAtr: LPCBYTE,
- rgquidInterfaces: LPCGUID,
- cguidInterfaceCount: DWORD,
- mszCards: *mut WCHAR,
- pcchCards: LPDWORD,
- ) -> LONG;
- pub fn SCardListInterfacesA(
- hContext: SCARDCONTEXT,
- szCard: LPCSTR,
- pguidInterfaces: LPGUID,
- pcguidInterfaces: LPDWORD,
- ) -> LONG;
- pub fn SCardListInterfacesW(
- hContext: SCARDCONTEXT,
- szCard: LPCWSTR,
- pguidInterfaces: LPGUID,
- pcguidInterfaces: LPDWORD,
- ) -> LONG;
- pub fn SCardGetProviderIdA(
- hContext: SCARDCONTEXT,
- szCard: LPCSTR,
- pguidProviderId: LPGUID,
- ) -> LONG;
- pub fn SCardGetProviderIdW(
- hContext: SCARDCONTEXT,
- szCard: LPCWSTR,
- pguidProviderId: LPGUID,
- ) -> LONG;
- pub fn SCardGetCardTypeProviderNameA(
- hContext: SCARDCONTEXT,
- szCardName: LPCSTR,
- dwProviderId: DWORD,
- szProvider: *mut CHAR,
- pcchProvider: LPDWORD,
- ) -> LONG;
- pub fn SCardGetCardTypeProviderNameW(
- hContext: SCARDCONTEXT,
- szCardName: LPCWSTR,
- dwProviderId: DWORD,
- szProvider: *mut WCHAR,
- pcchProvider: LPDWORD,
- ) -> LONG;
- pub fn SCardIntroduceReaderGroupA(
- hContext: SCARDCONTEXT,
- szGroupName: LPCSTR,
- ) -> LONG;
- pub fn SCardIntroduceReaderGroupW(
- hContext: SCARDCONTEXT,
- szGroupName: LPCWSTR,
- ) -> LONG;
- pub fn SCardForgetReaderGroupA(
- hContext: SCARDCONTEXT,
- szGroupName: LPCSTR,
- ) -> LONG;
- pub fn SCardForgetReaderGroupW(
- hContext: SCARDCONTEXT,
- szGroupName: LPCWSTR,
- ) -> LONG;
- pub fn SCardIntroduceReaderA(
- hContext: SCARDCONTEXT,
- szReaderName: LPCSTR,
- szDeviceName: LPCSTR,
- ) -> LONG;
- pub fn SCardIntroduceReaderW(
- hContext: SCARDCONTEXT,
- szReaderName: LPCWSTR,
- szDeviceName: LPCWSTR,
- ) -> LONG;
- pub fn SCardForgetReaderA(
- hContext: SCARDCONTEXT,
- szReaderName: LPCSTR,
- ) -> LONG;
- pub fn SCardForgetReaderW(
- hContext: SCARDCONTEXT,
- szReaderName: LPCWSTR,
- ) -> LONG;
- pub fn SCardAddReaderToGroupA(
- hContext: SCARDCONTEXT,
- szReaderName: LPCSTR,
- szGroupName: LPCSTR,
- ) -> LONG;
- pub fn SCardAddReaderToGroupW(
- hContext: SCARDCONTEXT,
- szReaderName: LPCWSTR,
- szGroupName: LPCWSTR,
- ) -> LONG;
- pub fn SCardRemoveReaderFromGroupA(
- hContext: SCARDCONTEXT,
- szReaderName: LPCSTR,
- szGroupName: LPCSTR,
- ) -> LONG;
- pub fn SCardRemoveReaderFromGroupW(
- hContext: SCARDCONTEXT,
- szReaderName: LPCWSTR,
- szGroupName: LPCWSTR,
- ) -> LONG;
- pub fn SCardIntroduceCardTypeA(
- hContext: SCARDCONTEXT,
- szCardName: LPCSTR,
- pguidPrimaryProvider: LPCGUID,
- rgguidInterfaces: LPCGUID,
- dwInterfaceCount: DWORD,
- pbAtr: LPCBYTE,
- pbAtrMask: LPCBYTE,
- cbAtrLen: DWORD,
- ) -> LONG;
- pub fn SCardIntroduceCardTypeW(
- hContext: SCARDCONTEXT,
- szCardName: LPCWSTR,
- pguidPrimaryProvider: LPCGUID,
- rgguidInterfaces: LPCGUID,
- dwInterfaceCount: DWORD,
- pbAtr: LPCBYTE,
- pbAtrMask: LPCBYTE,
- cbAtrLen: DWORD,
- ) -> LONG;
- pub fn SCardSetCardTypeProviderNameA(
- hContext: SCARDCONTEXT,
- szCardName: LPCSTR,
- dwProviderId: DWORD,
- szProvider: LPCSTR,
- ) -> LONG;
- pub fn SCardSetCardTypeProviderNameW(
- hContext: SCARDCONTEXT,
- szCardName: LPCWSTR,
- dwProviderId: DWORD,
- szProvider: LPCWSTR,
- ) -> LONG;
- pub fn SCardForgetCardTypeA(
- hContext: SCARDCONTEXT,
- szCardName: LPCSTR,
- ) -> LONG;
- pub fn SCardForgetCardTypeW(
- hContext: SCARDCONTEXT,
- szCardName: LPCWSTR,
- ) -> LONG;
- pub fn SCardFreeMemory(
- hContext: SCARDCONTEXT,
- pvMem: LPCVOID,
- ) -> LONG;
- pub fn SCardAccessStartedEvent() -> HANDLE;
- pub fn SCardReleaseStartedEvent();
-}
-STRUCT!{struct SCARD_READERSTATEA {
- szReader: LPCSTR,
- pvUserData: LPVOID,
- dwCurrentState: DWORD,
- dwEventState: DWORD,
- cbAtr: DWORD,
- rgbAtr: [BYTE; 36],
-}}
-pub type PSCARD_READERSTATEA = *mut SCARD_READERSTATEA;
-pub type LPSCARD_READERSTATEA = *mut SCARD_READERSTATEA;
-STRUCT!{struct SCARD_READERSTATEW {
- szReader: LPCWSTR,
- pvUserData: LPVOID,
- dwCurrentState: DWORD,
- dwEventState: DWORD,
- cbAtr: DWORD,
- rgbAtr: [BYTE; 36],
-}}
-pub type PSCARD_READERSTATEW = *mut SCARD_READERSTATEW;
-pub type LPSCARD_READERSTATEW = *mut SCARD_READERSTATEW;
-pub type SCARD_READERSTATE_A = SCARD_READERSTATEA;
-pub type SCARD_READERSTATE_W = SCARD_READERSTATEW;
-pub type PSCARD_READERSTATE_A = PSCARD_READERSTATEA;
-pub type PSCARD_READERSTATE_W = PSCARD_READERSTATEW;
-pub type LPSCARD_READERSTATE_A = LPSCARD_READERSTATEA;
-pub type LPSCARD_READERSTATE_W = LPSCARD_READERSTATEW;
-pub const SCARD_STATE_UNAWARE: DWORD = 0x00000000;
-pub const SCARD_STATE_IGNORE: DWORD = 0x00000001;
-pub const SCARD_STATE_CHANGED: DWORD = 0x00000002;
-pub const SCARD_STATE_UNKNOWN: DWORD = 0x00000004;
-pub const SCARD_STATE_UNAVAILABLE: DWORD = 0x00000008;
-pub const SCARD_STATE_EMPTY: DWORD = 0x00000010;
-pub const SCARD_STATE_PRESENT: DWORD = 0x00000020;
-pub const SCARD_STATE_ATRMATCH: DWORD = 0x00000040;
-pub const SCARD_STATE_EXCLUSIVE: DWORD = 0x00000080;
-pub const SCARD_STATE_INUSE: DWORD = 0x00000100;
-pub const SCARD_STATE_MUTE: DWORD = 0x00000200;
-pub const SCARD_STATE_UNPOWERED: DWORD = 0x00000400;
-extern "system" {
- pub fn SCardLocateCardsA(
- hContext: SCARDCONTEXT,
- mszCards: LPCSTR,
- rgReaderStates: LPSCARD_READERSTATEA,
- cReaders: DWORD,
- ) -> LONG;
- pub fn SCardLocateCardsW(
- hContext: SCARDCONTEXT,
- mszCards: LPCWSTR,
- rgReaderStates: LPSCARD_READERSTATEW,
- cReaders: DWORD,
- ) -> LONG;
-}
-STRUCT!{struct SCARD_ATRMASK {
- cbAtr: DWORD,
- rgbAtr: [BYTE; 36],
- rgbMask: [BYTE; 36],
-}}
-pub type PSCARD_ATRMASK = *mut SCARD_ATRMASK;
-pub type LPSCARD_ATRMASK = *mut SCARD_ATRMASK;
-extern "system" {
- pub fn SCardLocateCardsByATRA(
- hContext: SCARDCONTEXT,
- rgAtrMasks: LPSCARD_ATRMASK,
- cAtrs: DWORD,
- rgReaderStates: LPSCARD_READERSTATEA,
- cReaders: DWORD,
- ) -> LONG;
- pub fn SCardLocateCardsByATRW(
- hContext: SCARDCONTEXT,
- rgAtrMasks: LPSCARD_ATRMASK,
- cAtrs: DWORD,
- rgReaderStates: LPSCARD_READERSTATEW,
- cReaders: DWORD,
- ) -> LONG;
- pub fn SCardGetStatusChangeA(
- hContext: SCARDCONTEXT,
- dwTimeout: DWORD,
- rgReaderStates: LPSCARD_READERSTATEA,
- cReaders: DWORD,
- ) -> LONG;
- pub fn SCardGetStatusChangeW(
- hContext: SCARDCONTEXT,
- dwTimeout: DWORD,
- rgReaderStates: LPSCARD_READERSTATEW,
- cReaders: DWORD,
- ) -> LONG;
- pub fn SCardCancel(
- hContext: SCARDCONTEXT,
- ) -> LONG;
-}
-pub const SCARD_SHARE_EXCLUSIVE: DWORD = 1;
-pub const SCARD_SHARE_SHARED: DWORD = 2;
-pub const SCARD_SHARE_DIRECT: DWORD = 3;
-pub const SCARD_LEAVE_CARD: DWORD = 0;
-pub const SCARD_RESET_CARD: DWORD = 1;
-pub const SCARD_UNPOWER_CARD: DWORD = 2;
-pub const SCARD_EJECT_CARD: DWORD = 3;
-extern "system" {
- pub fn SCardConnectA(
- hContext: SCARDCONTEXT,
- szReader: LPCSTR,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
- phCard: LPSCARDHANDLE,
- pdwActiveProtocol: LPDWORD,
- ) -> LONG;
- pub fn SCardConnectW(
- hContext: SCARDCONTEXT,
- szReader: LPCWSTR,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
- phCard: LPSCARDHANDLE,
- pdwActiveProtocol: LPDWORD,
- ) -> LONG;
- pub fn SCardReconnect(
- hCard: SCARDHANDLE,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
- dwInitialization: DWORD,
- pdwActiveProtocol: LPDWORD,
- ) -> LONG;
- pub fn SCardDisconnect(
- hCard: SCARDHANDLE,
- dwDisposition: DWORD,
- ) -> LONG;
- pub fn SCardBeginTransaction(
- hCard: SCARDHANDLE,
- ) -> LONG;
- pub fn SCardEndTransaction(
- hCard: SCARDHANDLE,
- dwDisposition: DWORD,
- ) -> LONG;
- pub fn SCardState(
- hCard: SCARDHANDLE,
- pdwState: LPDWORD,
- pdwProtocol: LPDWORD,
- pbAtr: LPBYTE,
- pcbAtrLen: LPDWORD,
- ) -> LONG;
- pub fn SCardStatusA(
- hCard: SCARDHANDLE,
- mszReaderNames: LPSTR,
- pcchReaderLen: LPDWORD,
- pdwState: LPDWORD,
- pdwProtocol: LPDWORD,
- pbAtr: LPBYTE,
- pcbAtrLen: LPDWORD,
- ) -> LONG;
- pub fn SCardStatusW(
- hCard: SCARDHANDLE,
- mszReaderNames: LPWSTR,
- pcchReaderLen: LPDWORD,
- pdwState: LPDWORD,
- pdwProtocol: LPDWORD,
- pbAtr: LPBYTE,
- pcbAtrLen: LPDWORD,
- ) -> LONG;
- pub fn SCardTransmit(
- hCard: SCARDHANDLE,
- pioSendPci: LPCSCARD_IO_REQUEST,
- pbSendBuffer: LPCBYTE,
- cbSendLength: DWORD,
- pioRecvPci: LPSCARD_IO_REQUEST,
- pbRecvBuffer: LPBYTE,
- pcbRecvLength: LPDWORD,
- ) -> LONG;
- pub fn SCardGetTransmitCount(
- hCard: SCARDHANDLE,
- pcTransmitCount: LPDWORD,
- ) -> LONG;
- pub fn SCardControl(
- hCard: SCARDHANDLE,
- dwControlCode: DWORD,
- lpInBuffer: LPCVOID,
- cbInBufferSize: DWORD,
- lpOutBuffer: LPVOID,
- cbOutBufferSize: DWORD,
- lpBytesReturned: LPDWORD,
- ) -> LONG;
- pub fn SCardGetAttrib(
- hCard: SCARDHANDLE,
- dwAttrId: DWORD,
- pbAttr: LPBYTE,
- pcbAttrLen: LPDWORD,
- ) -> LONG;
- pub fn SCardSetAttrib(
- hCard: SCARDHANDLE,
- dwAttrId: DWORD,
- pbAttr: LPCBYTE,
- cbAttrLen: DWORD,
- ) -> LONG;
-}
-pub const SC_DLG_MINIMAL_UI: DWORD = 0x01;
-pub const SC_DLG_NO_UI: DWORD = 0x02;
-pub const SC_DLG_FORCE_UI: DWORD = 0x04;
-pub const SCERR_NOCARDNAME: DWORD = 0x4000;
-pub const SCERR_NOGUIDS: DWORD = 0x8000;
-FN!{stdcall LPOCNCONNPROCA(
- SCARDCONTEXT,
- LPSTR,
- LPSTR,
- PVOID,
-) -> SCARDHANDLE}
-FN!{stdcall LPOCNCONNPROCW(
- SCARDCONTEXT,
- LPWSTR,
- LPWSTR,
- PVOID,
-) -> SCARDHANDLE}
-FN!{stdcall LPOCNCHKPROC(
- SCARDCONTEXT,
- SCARDHANDLE,
- PVOID,
-) -> BOOL}
-FN!{stdcall LPOCNDSCPROC(
- SCARDCONTEXT,
- SCARDHANDLE,
- PVOID,
-) -> ()}
-STRUCT!{struct OPENCARD_SEARCH_CRITERIAA {
- dwStructSize: DWORD,
- lpstrGroupNames: LPSTR,
- nMaxGroupNames: DWORD,
- rgguidInterfaces: LPCGUID,
- cguidInterfaces: DWORD,
- lpstrCardNames: LPSTR,
- nMaxCardNames: DWORD,
- lpfnCheck: LPOCNCHKPROC,
- lpfnConnect: LPOCNCONNPROCA,
- lpfnDisconnect: LPOCNDSCPROC,
- pvUserData: LPVOID,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
-}}
-pub type POPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA;
-pub type LPOPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA;
-STRUCT!{struct OPENCARD_SEARCH_CRITERIAW {
- dwStructSize: DWORD,
- lpstrGroupNames: LPWSTR,
- nMaxGroupNames: DWORD,
- rgguidInterfaces: LPCGUID,
- cguidInterfaces: DWORD,
- lpstrCardNames: LPWSTR,
- nMaxCardNames: DWORD,
- lpfnCheck: LPOCNCHKPROC,
- lpfnConnect: LPOCNCONNPROCW,
- lpfnDisconnect: LPOCNDSCPROC,
- pvUserData: LPVOID,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
-}}
-pub type POPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW;
-pub type LPOPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW;
-STRUCT!{struct OPENCARDNAME_EXA {
- dwStructSize: DWORD,
- hSCardContext: SCARDCONTEXT,
- hwndOwner: HWND,
- dwFlags: DWORD,
- lpstrTitle: LPCSTR,
- lpstrSearchDesc: LPCSTR,
- hIcon: HICON,
- pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAA,
- lpfnConnect: LPOCNCONNPROCA,
- pvUserData: LPVOID,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
- lpstrRdr: LPSTR,
- nMaxRdr: DWORD,
- lpstrCard: LPSTR,
- nMaxCard: DWORD,
- dwActiveProtocol: DWORD,
- hCardHandle: SCARDHANDLE,
-}}
-pub type POPENCARDNAME_EXA = *mut OPENCARDNAME_EXA;
-pub type LPOPENCARDNAME_EXA = *mut OPENCARDNAME_EXA;
-STRUCT!{struct OPENCARDNAME_EXW {
- dwStructSize: DWORD,
- hSCardContext: SCARDCONTEXT,
- hwndOwner: HWND,
- dwFlags: DWORD,
- lpstrTitle: LPCWSTR,
- lpstrSearchDesc: LPCWSTR,
- hIcon: HICON,
- pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAW,
- lpfnConnect: LPOCNCONNPROCW,
- pvUserData: LPVOID,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
- lpstrRdr: LPWSTR,
- nMaxRdr: DWORD,
- lpstrCard: LPWSTR,
- nMaxCard: DWORD,
- dwActiveProtocol: DWORD,
- hCardHandle: SCARDHANDLE,
-}}
-pub type POPENCARDNAME_EXW = *mut OPENCARDNAME_EXW;
-pub type LPOPENCARDNAME_EXW = *mut OPENCARDNAME_EXW;
-pub type OPENCARDNAMEA_EX = OPENCARDNAME_EXA;
-pub type OPENCARDNAMEW_EX = OPENCARDNAME_EXW;
-pub type POPENCARDNAMEA_EX = POPENCARDNAME_EXA;
-pub type POPENCARDNAMEW_EX = POPENCARDNAME_EXW;
-pub type LPOPENCARDNAMEA_EX = LPOPENCARDNAME_EXA;
-pub type LPOPENCARDNAMEW_EX = LPOPENCARDNAME_EXW;
-pub const SCARD_READER_SEL_AUTH_PACKAGE: DWORD = -629i32 as u32;
-ENUM!{enum READER_SEL_REQUEST_MATCH_TYPE {
- RSR_MATCH_TYPE_READER_AND_CONTAINER = 1,
- RSR_MATCH_TYPE_SERIAL_NUMBER,
- RSR_MATCH_TYPE_ALL_CARDS,
-}}
-STRUCT!{struct READER_SEL_REQUEST_ReaderAndContainerParameter {
- cbReaderNameOffset: DWORD,
- cchReaderNameLength: DWORD,
- cbContainerNameOffset: DWORD,
- cchContainerNameLength: DWORD,
- dwDesiredCardModuleVersion: DWORD,
- dwCspFlags: DWORD,
-}}
-STRUCT!{struct READER_SEL_REQUEST_SerialNumberParameter {
- cbSerialNumberOffset: DWORD,
- cbSerialNumberLength: DWORD,
- dwDesiredCardModuleVersion: DWORD,
-}}
-UNION!{union READER_SEL_REQUEST_u {
- [u32; 6],
- ReaderAndContainerParameter ReaderAndContainerParameter_mut:
- READER_SEL_REQUEST_ReaderAndContainerParameter,
- SerialNumberParameter SerialNumberParameter_mut: READER_SEL_REQUEST_SerialNumberParameter,
-}}
-STRUCT!{struct READER_SEL_REQUEST {
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
- MatchType: READER_SEL_REQUEST_MATCH_TYPE,
- u: READER_SEL_REQUEST_u,
-}}
-pub type PREADER_SEL_REQUEST = *mut READER_SEL_REQUEST;
-STRUCT!{struct READER_SEL_RESPONSE {
- cbReaderNameOffset: DWORD,
- cchReaderNameLength: DWORD,
- cbCardNameOffset: DWORD,
- cchCardNameLength: DWORD,
-}}
-pub type PREADER_SEL_RESPONSE = *mut READER_SEL_RESPONSE;
-STRUCT!{struct OPENCARDNAMEA {
- dwStructSize: DWORD,
- hwndOwner: HWND,
- hSCardContext: SCARDCONTEXT,
- lpstrGroupNames: LPSTR,
- nMaxGroupNames: DWORD,
- lpstrCardNames: LPSTR,
- nMaxCardNames: DWORD,
- rgguidInterfaces: LPCGUID,
- cguidInterfaces: DWORD,
- lpstrRdr: LPSTR,
- nMaxRdr: DWORD,
- lpstrCard: LPSTR,
- nMaxCard: DWORD,
- lpstrTitle: LPCSTR,
- dwFlags: DWORD,
- pvUserData: LPVOID,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
- dwActiveProtocol: DWORD,
- lpfnConnect: LPOCNCONNPROCA,
- lpfnCheck: LPOCNCHKPROC,
- lpfnDisconnect: LPOCNDSCPROC,
- hCardHandle: SCARDHANDLE,
-}}
-pub type POPENCARDNAMEA = *mut OPENCARDNAMEA;
-pub type LPOPENCARDNAMEA = *mut OPENCARDNAMEA;
-STRUCT!{struct OPENCARDNAMEW {
- dwStructSize: DWORD,
- hwndOwner: HWND,
- hSCardContext: SCARDCONTEXT,
- lpstrGroupNames: LPWSTR,
- nMaxGroupNames: DWORD,
- lpstrCardNames: LPWSTR,
- nMaxCardNames: DWORD,
- rgguidInterfaces: LPCGUID,
- cguidInterfaces: DWORD,
- lpstrRdr: LPWSTR,
- nMaxRdr: DWORD,
- lpstrCard: LPWSTR,
- nMaxCard: DWORD,
- lpstrTitle: LPCWSTR,
- dwFlags: DWORD,
- pvUserData: LPVOID,
- dwShareMode: DWORD,
- dwPreferredProtocols: DWORD,
- dwActiveProtocol: DWORD,
- lpfnConnect: LPOCNCONNPROCW,
- lpfnCheck: LPOCNCHKPROC,
- lpfnDisconnect: LPOCNDSCPROC,
- hCardHandle: SCARDHANDLE,
-}}
-pub type POPENCARDNAMEW = *mut OPENCARDNAMEW;
-pub type LPOPENCARDNAMEW = *mut OPENCARDNAMEW;
-pub type OPENCARDNAME_A = OPENCARDNAMEA;
-pub type OPENCARDNAME_W = OPENCARDNAMEW;
-pub type POPENCARDNAME_A = POPENCARDNAMEA;
-pub type POPENCARDNAME_W = POPENCARDNAMEW;
-pub type LPOPENCARDNAME_A = LPOPENCARDNAMEA;
-pub type LPOPENCARDNAME_W = LPOPENCARDNAMEW;
-extern "system" {
- pub fn SCardReadCacheA(
- hContext: SCARDCONTEXT,
- CardIdentifier: *mut UUID,
- FreshnessCounter: DWORD,
- LookupName: LPSTR,
- Data: PBYTE,
- DataLen: *mut DWORD,
- ) -> LONG;
- pub fn SCardReadCacheW(
- hContext: SCARDCONTEXT,
- CardIdentifier: *mut UUID,
- FreshnessCounter: DWORD,
- LookupName: LPWSTR,
- Data: PBYTE,
- DataLen: *mut DWORD,
- ) -> LONG;
- pub fn SCardWriteCacheA(
- hContext: SCARDCONTEXT,
- CardIdentifier: *mut UUID,
- FreshnessCounter: DWORD,
- LookupName: LPSTR,
- Data: PBYTE,
- DataLen: DWORD,
- ) -> LONG;
- pub fn SCardWriteCacheW(
- hContext: SCARDCONTEXT,
- CardIdentifier: *mut UUID,
- FreshnessCounter: DWORD,
- LookupName: LPWSTR,
- Data: PBYTE,
- DataLen: DWORD,
- ) -> LONG;
- pub fn SCardGetReaderIconA(
- hContext: SCARDCONTEXT,
- szReaderName: LPCSTR,
- pbIcon: LPBYTE,
- pcbIcon: LPDWORD,
- ) -> LONG;
- pub fn SCardGetReaderIconW(
- hContext: SCARDCONTEXT,
- szReaderName: LPCWSTR,
- pbIcon: LPBYTE,
- pcbIcon: LPDWORD,
- ) -> LONG;
- pub fn SCardGetDeviceTypeIdA(
- hContext: SCARDCONTEXT,
- szReaderName: LPCSTR,
- pdwDeviceTypeId: LPDWORD,
- ) -> LONG;
- pub fn SCardGetDeviceTypeIdW(
- hContext: SCARDCONTEXT,
- szReaderName: LPCWSTR,
- pdwDeviceTypeId: LPDWORD,
- ) -> LONG;
- pub fn SCardGetReaderDeviceInstanceIdA(
- hContext: SCARDCONTEXT,
- szReaderName: LPCSTR,
- szDeviceInstanceId: LPSTR,
- pcchDeviceInstanceId: LPDWORD,
- ) -> LONG;
- pub fn SCardGetReaderDeviceInstanceIdW(
- hContext: SCARDCONTEXT,
- szReaderName: LPCWSTR,
- szDeviceInstanceId: LPWSTR,
- pcchDeviceInstanceId: LPDWORD,
- ) -> LONG;
- pub fn SCardListReadersWithDeviceInstanceIdA(
- hContext: SCARDCONTEXT,
- szDeviceInstanceId: LPCSTR,
- mszReaders: LPSTR,
- pcchReaders: LPDWORD,
- ) -> LONG;
- pub fn SCardListReadersWithDeviceInstanceIdW(
- hContext: SCARDCONTEXT,
- szDeviceInstanceId: LPCWSTR,
- mszReaders: LPWSTR,
- pcchReaders: LPDWORD,
- ) -> LONG;
-}
-pub const SCARD_AUDIT_CHV_FAILURE: DWORD = 0x0;
-pub const SCARD_AUDIT_CHV_SUCCESS: DWORD = 0x1;
-extern "system" {
- pub fn SCardAudit(
- hContext: SCARDCONTEXT,
- dwEvent: DWORD,
- ) -> LONG;
-}