FreeRDP
scard.h File Reference
#include <winpr/crt.h>
#include <winpr/smartcard.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  REDIR_SCARDCONTEXT
 
struct  REDIR_SCARDHANDLE
 
struct  Long_Return
 
struct  ListReaderGroups_Return
 
struct  EstablishContext_Return
 
struct  ReaderState_Return
 
struct  LocateCards_ATRMask
 
struct  LocateCards_Return
 
struct  GetReaderIcon_Return
 
struct  GetDeviceTypeId_Return
 
struct  Connect_Return
 
struct  Reconnect_Return
 
struct  State_Return
 
struct  Status_Return
 
struct  SCardIO_Request
 
struct  Transmit_Return
 
struct  GetTransmitCount_Return
 
struct  Control_Return
 
struct  GetAttrib_Return
 
struct  ReadCache_Return
 
struct  Handles_Call
 
struct  ListReaderGroups_Call
 
struct  ListReaders_Call
 
struct  GetStatusChangeA_Call
 
struct  LocateCardsA_Call
 
struct  LocateCardsW_Call
 
struct  LocateCardsByATRA_Call
 
struct  LocateCardsByATRW_Call
 
struct  GetStatusChangeW_Call
 
struct  GetReaderIcon_Call
 
struct  GetDeviceTypeId_Call
 
struct  Connect_Common_Call
 
struct  ConnectA_Call
 
struct  ConnectW_Call
 
struct  Reconnect_Call
 
struct  HCardAndDisposition_Call
 
struct  State_Call
 
struct  Status_Call
 
struct  Transmit_Call
 
struct  Long_Call
 
struct  Context_Call
 
struct  ContextAndStringA_Call
 
struct  ContextAndStringW_Call
 
struct  ContextAndTwoStringA_Call
 
struct  ContextAndTwoStringW_Call
 
struct  EstablishContext_Call
 
struct  GetTransmitCount_Call
 
struct  Control_Call
 
struct  GetAttrib_Call
 
struct  SetAttrib_Call
 
struct  ReadCache_Common
 
struct  ReadCacheA_Call
 
struct  ReadCacheW_Call
 
struct  WriteCache_Common
 
struct  WriteCacheA_Call
 
struct  WriteCacheW_Call
 

Macros

#define RDP_SCARD_CTL_CODE(code)    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, (code), METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define SCARD_IOCTL_ESTABLISHCONTEXT   RDP_SCARD_CTL_CODE(5) /* SCardEstablishContext */
 
#define SCARD_IOCTL_RELEASECONTEXT   RDP_SCARD_CTL_CODE(6) /* SCardReleaseContext */
 
#define SCARD_IOCTL_ISVALIDCONTEXT   RDP_SCARD_CTL_CODE(7) /* SCardIsValidContext */
 
#define SCARD_IOCTL_LISTREADERGROUPSA   RDP_SCARD_CTL_CODE(8) /* SCardListReaderGroupsA */
 
#define SCARD_IOCTL_LISTREADERGROUPSW   RDP_SCARD_CTL_CODE(9) /* SCardListReaderGroupsW */
 
#define SCARD_IOCTL_LISTREADERSA   RDP_SCARD_CTL_CODE(10) /* SCardListReadersA */
 
#define SCARD_IOCTL_LISTREADERSW   RDP_SCARD_CTL_CODE(11) /* SCardListReadersW */
 
#define SCARD_IOCTL_INTRODUCEREADERGROUPA   RDP_SCARD_CTL_CODE(20) /* SCardIntroduceReaderGroupA */
 
#define SCARD_IOCTL_INTRODUCEREADERGROUPW   RDP_SCARD_CTL_CODE(21) /* SCardIntroduceReaderGroupW */
 
#define SCARD_IOCTL_FORGETREADERGROUPA   RDP_SCARD_CTL_CODE(22) /* SCardForgetReaderGroupA */
 
#define SCARD_IOCTL_FORGETREADERGROUPW   RDP_SCARD_CTL_CODE(23) /* SCardForgetReaderGroupW */
 
#define SCARD_IOCTL_INTRODUCEREADERA   RDP_SCARD_CTL_CODE(24) /* SCardIntroduceReaderA */
 
#define SCARD_IOCTL_INTRODUCEREADERW   RDP_SCARD_CTL_CODE(25) /* SCardIntroduceReaderW */
 
#define SCARD_IOCTL_FORGETREADERA   RDP_SCARD_CTL_CODE(26) /* SCardForgetReaderA */
 
#define SCARD_IOCTL_FORGETREADERW   RDP_SCARD_CTL_CODE(27) /* SCardForgetReaderW */
 
#define SCARD_IOCTL_ADDREADERTOGROUPA   RDP_SCARD_CTL_CODE(28) /* SCardAddReaderToGroupA */
 
#define SCARD_IOCTL_ADDREADERTOGROUPW   RDP_SCARD_CTL_CODE(29) /* SCardAddReaderToGroupW */
 
#define SCARD_IOCTL_REMOVEREADERFROMGROUPA
 
#define SCARD_IOCTL_REMOVEREADERFROMGROUPW
 
#define SCARD_IOCTL_LOCATECARDSA   RDP_SCARD_CTL_CODE(38) /* SCardLocateCardsA */
 
#define SCARD_IOCTL_LOCATECARDSW   RDP_SCARD_CTL_CODE(39) /* SCardLocateCardsW */
 
#define SCARD_IOCTL_GETSTATUSCHANGEA   RDP_SCARD_CTL_CODE(40) /* SCardGetStatusChangeA */
 
#define SCARD_IOCTL_GETSTATUSCHANGEW   RDP_SCARD_CTL_CODE(41) /* SCardGetStatusChangeW */
 
#define SCARD_IOCTL_CANCEL   RDP_SCARD_CTL_CODE(42) /* SCardCancel */
 
#define SCARD_IOCTL_CONNECTA   RDP_SCARD_CTL_CODE(43) /* SCardConnectA */
 
#define SCARD_IOCTL_CONNECTW   RDP_SCARD_CTL_CODE(44) /* SCardConnectW */
 
#define SCARD_IOCTL_RECONNECT   RDP_SCARD_CTL_CODE(45) /* SCardReconnect */
 
#define SCARD_IOCTL_DISCONNECT   RDP_SCARD_CTL_CODE(46) /* SCardDisconnect */
 
#define SCARD_IOCTL_BEGINTRANSACTION   RDP_SCARD_CTL_CODE(47) /* SCardBeginTransaction */
 
#define SCARD_IOCTL_ENDTRANSACTION   RDP_SCARD_CTL_CODE(48) /* SCardEndTransaction */
 
#define SCARD_IOCTL_STATE   RDP_SCARD_CTL_CODE(49) /* SCardState */
 
#define SCARD_IOCTL_STATUSA   RDP_SCARD_CTL_CODE(50) /* SCardStatusA */
 
#define SCARD_IOCTL_STATUSW   RDP_SCARD_CTL_CODE(51) /* SCardStatusW */
 
#define SCARD_IOCTL_TRANSMIT   RDP_SCARD_CTL_CODE(52) /* SCardTransmit */
 
#define SCARD_IOCTL_CONTROL   RDP_SCARD_CTL_CODE(53) /* SCardControl */
 
#define SCARD_IOCTL_GETATTRIB   RDP_SCARD_CTL_CODE(54) /* SCardGetAttrib */
 
#define SCARD_IOCTL_SETATTRIB   RDP_SCARD_CTL_CODE(55) /* SCardSetAttrib */
 
#define SCARD_IOCTL_ACCESSSTARTEDEVENT   RDP_SCARD_CTL_CODE(56) /* SCardAccessStartedEvent */
 
#define SCARD_IOCTL_RELEASETARTEDEVENT   RDP_SCARD_CTL_CODE(57) /* SCardReleaseStartedEvent */
 
#define SCARD_IOCTL_LOCATECARDSBYATRA   RDP_SCARD_CTL_CODE(58) /* SCardLocateCardsByATRA */
 
#define SCARD_IOCTL_LOCATECARDSBYATRW   RDP_SCARD_CTL_CODE(59) /* SCardLocateCardsByATRW */
 
#define SCARD_IOCTL_READCACHEA   RDP_SCARD_CTL_CODE(60) /* SCardReadCacheA */
 
#define SCARD_IOCTL_READCACHEW   RDP_SCARD_CTL_CODE(61) /* SCardReadCacheW */
 
#define SCARD_IOCTL_WRITECACHEA   RDP_SCARD_CTL_CODE(62) /* SCardWriteCacheA */
 
#define SCARD_IOCTL_WRITECACHEW   RDP_SCARD_CTL_CODE(63) /* SCardWriteCacheW */
 
#define SCARD_IOCTL_GETTRANSMITCOUNT   RDP_SCARD_CTL_CODE(64) /* SCardGetTransmitCount */
 
#define SCARD_IOCTL_GETREADERICON   RDP_SCARD_CTL_CODE(65) /* SCardGetReaderIconA */
 
#define SCARD_IOCTL_GETDEVICETYPEID   RDP_SCARD_CTL_CODE(66) /* SCardGetDeviceTypeIdA */
 

Typedefs

typedef struct ListReaderGroups_Return ListReaders_Return
 
typedef struct LocateCards_Return GetStatusChange_Return
 

Macro Definition Documentation

◆ RDP_SCARD_CTL_CODE

#define RDP_SCARD_CTL_CODE (   code)     CTL_CODE(FILE_DEVICE_FILE_SYSTEM, (code), METHOD_BUFFERED, FILE_ANY_ACCESS)

FreeRDP: A Remote Desktop Protocol Implementation Smartcard Redirection Virtual Channel

Copyright 2021 Armin Novak anova.nosp@m.k@th.nosp@m.incas.nosp@m.t.co.nosp@m.m Copyright 2021 Thincast Technologies GmbH

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.

◆ SCARD_IOCTL_ACCESSSTARTEDEVENT

#define SCARD_IOCTL_ACCESSSTARTEDEVENT   RDP_SCARD_CTL_CODE(56) /* SCardAccessStartedEvent */

◆ SCARD_IOCTL_ADDREADERTOGROUPA

#define SCARD_IOCTL_ADDREADERTOGROUPA   RDP_SCARD_CTL_CODE(28) /* SCardAddReaderToGroupA */

◆ SCARD_IOCTL_ADDREADERTOGROUPW

#define SCARD_IOCTL_ADDREADERTOGROUPW   RDP_SCARD_CTL_CODE(29) /* SCardAddReaderToGroupW */

◆ SCARD_IOCTL_BEGINTRANSACTION

#define SCARD_IOCTL_BEGINTRANSACTION   RDP_SCARD_CTL_CODE(47) /* SCardBeginTransaction */

◆ SCARD_IOCTL_CANCEL

#define SCARD_IOCTL_CANCEL   RDP_SCARD_CTL_CODE(42) /* SCardCancel */

◆ SCARD_IOCTL_CONNECTA

#define SCARD_IOCTL_CONNECTA   RDP_SCARD_CTL_CODE(43) /* SCardConnectA */

◆ SCARD_IOCTL_CONNECTW

#define SCARD_IOCTL_CONNECTW   RDP_SCARD_CTL_CODE(44) /* SCardConnectW */

◆ SCARD_IOCTL_CONTROL

#define SCARD_IOCTL_CONTROL   RDP_SCARD_CTL_CODE(53) /* SCardControl */

◆ SCARD_IOCTL_DISCONNECT

#define SCARD_IOCTL_DISCONNECT   RDP_SCARD_CTL_CODE(46) /* SCardDisconnect */

◆ SCARD_IOCTL_ENDTRANSACTION

#define SCARD_IOCTL_ENDTRANSACTION   RDP_SCARD_CTL_CODE(48) /* SCardEndTransaction */

◆ SCARD_IOCTL_ESTABLISHCONTEXT

#define SCARD_IOCTL_ESTABLISHCONTEXT   RDP_SCARD_CTL_CODE(5) /* SCardEstablishContext */

◆ SCARD_IOCTL_FORGETREADERA

#define SCARD_IOCTL_FORGETREADERA   RDP_SCARD_CTL_CODE(26) /* SCardForgetReaderA */

◆ SCARD_IOCTL_FORGETREADERGROUPA

#define SCARD_IOCTL_FORGETREADERGROUPA   RDP_SCARD_CTL_CODE(22) /* SCardForgetReaderGroupA */

◆ SCARD_IOCTL_FORGETREADERGROUPW

#define SCARD_IOCTL_FORGETREADERGROUPW   RDP_SCARD_CTL_CODE(23) /* SCardForgetReaderGroupW */

◆ SCARD_IOCTL_FORGETREADERW

#define SCARD_IOCTL_FORGETREADERW   RDP_SCARD_CTL_CODE(27) /* SCardForgetReaderW */

◆ SCARD_IOCTL_GETATTRIB

#define SCARD_IOCTL_GETATTRIB   RDP_SCARD_CTL_CODE(54) /* SCardGetAttrib */

◆ SCARD_IOCTL_GETDEVICETYPEID

#define SCARD_IOCTL_GETDEVICETYPEID   RDP_SCARD_CTL_CODE(66) /* SCardGetDeviceTypeIdA */

◆ SCARD_IOCTL_GETREADERICON

#define SCARD_IOCTL_GETREADERICON   RDP_SCARD_CTL_CODE(65) /* SCardGetReaderIconA */

◆ SCARD_IOCTL_GETSTATUSCHANGEA

#define SCARD_IOCTL_GETSTATUSCHANGEA   RDP_SCARD_CTL_CODE(40) /* SCardGetStatusChangeA */

◆ SCARD_IOCTL_GETSTATUSCHANGEW

#define SCARD_IOCTL_GETSTATUSCHANGEW   RDP_SCARD_CTL_CODE(41) /* SCardGetStatusChangeW */

◆ SCARD_IOCTL_GETTRANSMITCOUNT

#define SCARD_IOCTL_GETTRANSMITCOUNT   RDP_SCARD_CTL_CODE(64) /* SCardGetTransmitCount */

◆ SCARD_IOCTL_INTRODUCEREADERA

#define SCARD_IOCTL_INTRODUCEREADERA   RDP_SCARD_CTL_CODE(24) /* SCardIntroduceReaderA */

◆ SCARD_IOCTL_INTRODUCEREADERGROUPA

#define SCARD_IOCTL_INTRODUCEREADERGROUPA   RDP_SCARD_CTL_CODE(20) /* SCardIntroduceReaderGroupA */

◆ SCARD_IOCTL_INTRODUCEREADERGROUPW

#define SCARD_IOCTL_INTRODUCEREADERGROUPW   RDP_SCARD_CTL_CODE(21) /* SCardIntroduceReaderGroupW */

◆ SCARD_IOCTL_INTRODUCEREADERW

#define SCARD_IOCTL_INTRODUCEREADERW   RDP_SCARD_CTL_CODE(25) /* SCardIntroduceReaderW */

◆ SCARD_IOCTL_ISVALIDCONTEXT

#define SCARD_IOCTL_ISVALIDCONTEXT   RDP_SCARD_CTL_CODE(7) /* SCardIsValidContext */

◆ SCARD_IOCTL_LISTREADERGROUPSA

#define SCARD_IOCTL_LISTREADERGROUPSA   RDP_SCARD_CTL_CODE(8) /* SCardListReaderGroupsA */

◆ SCARD_IOCTL_LISTREADERGROUPSW

#define SCARD_IOCTL_LISTREADERGROUPSW   RDP_SCARD_CTL_CODE(9) /* SCardListReaderGroupsW */

◆ SCARD_IOCTL_LISTREADERSA

#define SCARD_IOCTL_LISTREADERSA   RDP_SCARD_CTL_CODE(10) /* SCardListReadersA */

◆ SCARD_IOCTL_LISTREADERSW

#define SCARD_IOCTL_LISTREADERSW   RDP_SCARD_CTL_CODE(11) /* SCardListReadersW */

◆ SCARD_IOCTL_LOCATECARDSA

#define SCARD_IOCTL_LOCATECARDSA   RDP_SCARD_CTL_CODE(38) /* SCardLocateCardsA */

◆ SCARD_IOCTL_LOCATECARDSBYATRA

#define SCARD_IOCTL_LOCATECARDSBYATRA   RDP_SCARD_CTL_CODE(58) /* SCardLocateCardsByATRA */

◆ SCARD_IOCTL_LOCATECARDSBYATRW

#define SCARD_IOCTL_LOCATECARDSBYATRW   RDP_SCARD_CTL_CODE(59) /* SCardLocateCardsByATRW */

◆ SCARD_IOCTL_LOCATECARDSW

#define SCARD_IOCTL_LOCATECARDSW   RDP_SCARD_CTL_CODE(39) /* SCardLocateCardsW */

◆ SCARD_IOCTL_READCACHEA

#define SCARD_IOCTL_READCACHEA   RDP_SCARD_CTL_CODE(60) /* SCardReadCacheA */

◆ SCARD_IOCTL_READCACHEW

#define SCARD_IOCTL_READCACHEW   RDP_SCARD_CTL_CODE(61) /* SCardReadCacheW */

◆ SCARD_IOCTL_RECONNECT

#define SCARD_IOCTL_RECONNECT   RDP_SCARD_CTL_CODE(45) /* SCardReconnect */

◆ SCARD_IOCTL_RELEASECONTEXT

#define SCARD_IOCTL_RELEASECONTEXT   RDP_SCARD_CTL_CODE(6) /* SCardReleaseContext */

◆ SCARD_IOCTL_RELEASETARTEDEVENT

#define SCARD_IOCTL_RELEASETARTEDEVENT   RDP_SCARD_CTL_CODE(57) /* SCardReleaseStartedEvent */

◆ SCARD_IOCTL_REMOVEREADERFROMGROUPA

#define SCARD_IOCTL_REMOVEREADERFROMGROUPA
Value:
RDP_SCARD_CTL_CODE(30) /* SCardRemoveReaderFromGroupA \
*/
#define RDP_SCARD_CTL_CODE(code)
Definition: scard.h:32

◆ SCARD_IOCTL_REMOVEREADERFROMGROUPW

#define SCARD_IOCTL_REMOVEREADERFROMGROUPW
Value:
RDP_SCARD_CTL_CODE(31) /* SCardRemoveReaderFromGroupW \
*/

◆ SCARD_IOCTL_SETATTRIB

#define SCARD_IOCTL_SETATTRIB   RDP_SCARD_CTL_CODE(55) /* SCardSetAttrib */

◆ SCARD_IOCTL_STATE

#define SCARD_IOCTL_STATE   RDP_SCARD_CTL_CODE(49) /* SCardState */

◆ SCARD_IOCTL_STATUSA

#define SCARD_IOCTL_STATUSA   RDP_SCARD_CTL_CODE(50) /* SCardStatusA */

◆ SCARD_IOCTL_STATUSW

#define SCARD_IOCTL_STATUSW   RDP_SCARD_CTL_CODE(51) /* SCardStatusW */

◆ SCARD_IOCTL_TRANSMIT

#define SCARD_IOCTL_TRANSMIT   RDP_SCARD_CTL_CODE(52) /* SCardTransmit */

◆ SCARD_IOCTL_WRITECACHEA

#define SCARD_IOCTL_WRITECACHEA   RDP_SCARD_CTL_CODE(62) /* SCardWriteCacheA */

◆ SCARD_IOCTL_WRITECACHEW

#define SCARD_IOCTL_WRITECACHEW   RDP_SCARD_CTL_CODE(63) /* SCardWriteCacheW */

Typedef Documentation

◆ GetStatusChange_Return

◆ ListReaders_Return