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

Data Structures

struct  _REDIR_SCARDCONTEXT
 
struct  _REDIR_SCARDHANDLE
 
struct  _Long_Return
 
struct  ListReaders_Return
 
struct  _EstablishContext_Return
 
struct  _ReaderState_Return
 
struct  _LocateCards_ATRMask
 
struct  GetStatusChange_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  _GetTranmitCount_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
 
struct  SMARTCARD_OPERATION
 

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 */
 

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 Device Service Virtual Channel

Copyright 2011 O.S. Systems Software Ltda. Copyright 2011 Eduardo Fiss Beloni belon.nosp@m.i@os.nosp@m.syste.nosp@m.ms.c.nosp@m.om.br Copyright 2015 Thincast Technologies GmbH Copyright 2015 DI (FH) Martin Haimberger marti.nosp@m.n.ha.nosp@m.imber.nosp@m.ger@.nosp@m.thinc.nosp@m.ast..nosp@m.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.

◆ 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 \
*/

◆ 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 */
RDP_SCARD_CTL_CODE
#define RDP_SCARD_CTL_CODE(code)
Definition: smartcard_operations.h:28