FreeRDP
|
Data Structures | |
struct | PCSC_SCARD_READERSTATE |
struct | PCSC_SCARD_IO_REQUEST |
struct | PCSC_TLV_STRUCTURE |
struct | PCSCFunctionTable |
Macros | |
#define | PCSC_SCARD_UNKNOWN 0x0001 |
#define | PCSC_SCARD_ABSENT 0x0002 |
#define | PCSC_SCARD_PRESENT 0x0004 |
#define | PCSC_SCARD_SWALLOWED 0x0008 |
#define | PCSC_SCARD_POWERED 0x0010 |
#define | PCSC_SCARD_NEGOTIABLE 0x0020 |
#define | PCSC_SCARD_SPECIFIC 0x0040 |
#define | PCSC_SCARD_PROTOCOL_RAW 0x00000004 |
#define | PCSC_SCARD_PROTOCOL_T15 0x00000008 |
#define | PCSC_MAX_BUFFER_SIZE 264 |
#define | PCSC_MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1 << 16) + 3 + 2) |
#define | PCSC_MAX_ATR_SIZE 33 |
#define | PCSC_SCARD_AUTOALLOCATE (PCSC_DWORD)(-1) |
#define | PCSC_SCARD_PCI_T0 (&g_PCSC_rgSCardT0Pci) |
#define | PCSC_SCARD_PCI_T1 (&g_PCSC_rgSCardT1Pci) |
#define | PCSC_SCARD_PCI_RAW (&g_PCSC_rgSCardRawPci) |
#define | PCSC_SCARD_CTL_CODE(code) (0x42000000 + (code)) |
#define | PCSC_CM_IOCTL_GET_FEATURE_REQUEST PCSC_SCARD_CTL_CODE(3400) |
Typedefs | |
typedef unsigned long | PCSC_DWORD |
typedef PCSC_DWORD * | PCSC_PDWORD |
typedef PCSC_DWORD * | PCSC_LPDWORD |
typedef unsigned long | PCSC_ULONG |
typedef PCSC_ULONG * | PCSC_PULONG |
typedef long | PCSC_LONG |
Functions | |
int | PCSC_InitializeSCardApi (void) |
PSCardApiFunctionTable | PCSC_GetSCardApiFunctionTable (void) |
#define PCSC_CM_IOCTL_GET_FEATURE_REQUEST PCSC_SCARD_CTL_CODE(3400) |
#define PCSC_MAX_ATR_SIZE 33 |
#define PCSC_MAX_BUFFER_SIZE 264 |
#define PCSC_MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1 << 16) + 3 + 2) |
#define PCSC_SCARD_ABSENT 0x0002 |
#define PCSC_SCARD_AUTOALLOCATE (PCSC_DWORD)(-1) |
#define PCSC_SCARD_CTL_CODE | ( | code | ) | (0x42000000 + (code)) |
#define PCSC_SCARD_NEGOTIABLE 0x0020 |
#define PCSC_SCARD_PCI_RAW (&g_PCSC_rgSCardRawPci) |
#define PCSC_SCARD_PCI_T0 (&g_PCSC_rgSCardT0Pci) |
#define PCSC_SCARD_PCI_T1 (&g_PCSC_rgSCardT1Pci) |
#define PCSC_SCARD_POWERED 0x0010 |
#define PCSC_SCARD_PRESENT 0x0004 |
#define PCSC_SCARD_PROTOCOL_RAW 0x00000004 |
#define PCSC_SCARD_PROTOCOL_T15 0x00000008 |
#define PCSC_SCARD_SPECIFIC 0x0040 |
#define PCSC_SCARD_SWALLOWED 0x0008 |
#define PCSC_SCARD_UNKNOWN 0x0001 |
typedef unsigned long PCSC_DWORD |
WinPR: Windows Portable Runtime Smart Card API
Copyright 2014 Marc-Andre Moreau marca ndre .more au@g mail. com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. On Windows, DWORD and ULONG are defined to unsigned long. However, 64-bit Windows uses the LLP64 model which defines unsigned long as a 4-byte type, while most non-Windows systems use the LP64 model where unsigned long is 8 bytes.
WinPR correctly defines DWORD and ULONG to be 4-byte types regardless of LLP64/LP64, but this has the side effect of breaking compatibility with the broken pcsc-lite types.
To make matters worse, pcsc-lite correctly defines the data types on OS X, but not on other platforms.
typedef long PCSC_LONG |
typedef PCSC_DWORD * PCSC_LPDWORD |
typedef PCSC_DWORD* PCSC_PDWORD |
typedef PCSC_ULONG* PCSC_PULONG |
typedef unsigned long PCSC_ULONG |
PSCardApiFunctionTable PCSC_GetSCardApiFunctionTable | ( | void | ) |
int PCSC_InitializeSCardApi | ( | void | ) |