XenevaOS
Loading...
Searching...
No Matches
SmartCardReader.h
Go to the documentation of this file.
1
18#ifndef __SMART_CARD_READER_H__
19#define __SMART_CARD_READER_H__
20
21#define EFI_SMART_CARD_READER_PROTOCOL_GUID \
22 { \
23 0x2a4d1adf, 0x21dc, 0x4b81, {0xa4, 0x2f, 0x8b, 0x8e, 0xe2, 0x38, 0x00, 0x60} \
24 }
25
27
28//
29// Codes for access mode
30//
31#define SCARD_AM_READER 0x0001 // Exclusive access to reader
32#define SCARD_AM_CARD 0x0002 // Exclusive access to card
33//
34// Codes for card action
35//
36#define SCARD_CA_NORESET 0x0000 // Don't reset card
37#define SCARD_CA_COLDRESET 0x0001 // Perform a cold reset
38#define SCARD_CA_WARMRESET 0x0002 // Perform a warm reset
39#define SCARD_CA_UNPOWER 0x0003 // Power off the card
40#define SCARD_CA_EJECT 0x0004 // Eject the card
41//
42// Protocol types
43//
44#define SCARD_PROTOCOL_UNDEFINED 0x0000
45#define SCARD_PROTOCOL_T0 0x0001
46#define SCARD_PROTOCOL_T1 0x0002
47#define SCARD_PROTOCOL_RAW 0x0004
48//
49// Codes for state type
50//
51#define SCARD_UNKNOWN 0x0000 /* state is unknown */
52#define SCARD_ABSENT 0x0001 /* Card is absent */
53#define SCARD_INACTIVE 0x0002 /* Card is present and not powered*/
54#define SCARD_ACTIVE 0x0003 /* Card is present and powered */
55//
56// Macro to generate a ControlCode & PC/SC part 10 control code
57//
58#define SCARD_CTL_CODE(code) (0x42000000 + (code))
59#define CM_IOCTL_GET_FEATURE_REQUEST SCARD_CTL_CODE(3400)
60
94typedef
98 IN UINT32 AccessMode,
99 IN UINT32 CardAction,
100 IN UINT32 PreferredProtocols,
101 OUT UINT32 *ActiveProtocol
102 );
103
123typedef
127 IN UINT32 CardAction
128 );
129
166typedef
170 OUT CHAR16 *ReaderName OPTIONAL,
171 IN OUT UINTN *ReaderNameLength OPTIONAL,
172 OUT UINT32 *State OPTIONAL,
173 OUT UINT32 *CardProtocol OPTIONAL,
174 OUT UINT8 *Atr OPTIONAL,
175 IN OUT UINTN *AtrLength OPTIONAL
176 );
177
210typedef
214 IN UINT8 *CAPDU,
215 IN UINTN CAPDULength,
216 OUT UINT8 *RAPDU,
217 IN OUT UINTN *RAPDULength
218 );
219
259typedef
263 IN UINT32 ControlCode,
264 IN UINT8 *InBuffer OPTIONAL,
265 IN UINTN InBufferLength OPTIONAL,
266 OUT UINT8 *OutBuffer OPTIONAL,
267 IN OUT UINTN *OutBufferLength OPTIONAL
268 );
269
300typedef
304 IN UINT32 Attrib,
305 OUT UINT8 *OutBuffer,
306 IN OUT UINTN *OutBufferLength
307 );
308
321
323
324#endif
325
UINT64 UINTN
Definition ProcessorBind.h:118
unsigned short CHAR16
Definition ProcessorBind.h:105
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
EFI_STATUS(EFIAPI * EFI_SMART_CARD_READER_DISCONNECT)(IN EFI_SMART_CARD_READER_PROTOCOL *This, IN UINT32 CardAction)
Definition SmartCardReader.h:125
EFI_STATUS(EFIAPI * EFI_SMART_CARD_READER_STATUS)(IN EFI_SMART_CARD_READER_PROTOCOL *This, OUT CHAR16 *ReaderName OPTIONAL, IN OUT UINTN *ReaderNameLength OPTIONAL, OUT UINT32 *State OPTIONAL, OUT UINT32 *CardProtocol OPTIONAL, OUT UINT8 *Atr OPTIONAL, IN OUT UINTN *AtrLength OPTIONAL)
Definition SmartCardReader.h:168
EFI_STATUS(EFIAPI * EFI_SMART_CARD_READER_GET_ATTRIB)(IN EFI_SMART_CARD_READER_PROTOCOL *This, IN UINT32 Attrib, OUT UINT8 *OutBuffer, IN OUT UINTN *OutBufferLength)
Definition SmartCardReader.h:302
EFI_STATUS(EFIAPI * EFI_SMART_CARD_READER_TRANSMIT)(IN EFI_SMART_CARD_READER_PROTOCOL *This, IN UINT8 *CAPDU, IN UINTN CAPDULength, OUT UINT8 *RAPDU, IN OUT UINTN *RAPDULength)
Definition SmartCardReader.h:212
EFI_STATUS(EFIAPI * EFI_SMART_CARD_READER_CONNECT)(IN EFI_SMART_CARD_READER_PROTOCOL *This, IN UINT32 AccessMode, IN UINT32 CardAction, IN UINT32 PreferredProtocols, OUT UINT32 *ActiveProtocol)
Definition SmartCardReader.h:96
EFI_STATUS(EFIAPI * EFI_SMART_CARD_READER_CONTROL)(IN EFI_SMART_CARD_READER_PROTOCOL *This, IN UINT32 ControlCode, IN UINT8 *InBuffer OPTIONAL, IN UINTN InBufferLength OPTIONAL, OUT UINT8 *OutBuffer OPTIONAL, IN OUT UINTN *OutBufferLength OPTIONAL)
Definition SmartCardReader.h:261
EFI_GUID gEfiSmartCardReaderProtocolGuid
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
unsigned char UINT8
Definition actypes.h:236
Definition Base.h:281
Definition SmartCardReader.h:313
EFI_SMART_CARD_READER_GET_ATTRIB SCardGetAttrib
Definition SmartCardReader.h:319
EFI_SMART_CARD_READER_STATUS SCardStatus
Definition SmartCardReader.h:316
EFI_SMART_CARD_READER_TRANSMIT SCardTransmit
Definition SmartCardReader.h:317
EFI_SMART_CARD_READER_DISCONNECT SCardDisconnect
Definition SmartCardReader.h:315
EFI_SMART_CARD_READER_CONTROL SCardControl
Definition SmartCardReader.h:318
EFI_SMART_CARD_READER_CONNECT SCardConnect
Definition SmartCardReader.h:314