亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pscrrdwr.h

?? SmartCard驅動程序
?? H
字號:
/*++

Copyright (c) 1997 - 1999 SCM Microsystems, Inc.

Module Name:

    PscrRdWr.h

Abstract:

	Constants & access function prototypes for SCM PSCR smartcard reader

Author:

	Andreas Straub

Revision History:

	Andreas Straub			7/16/1997	Initial Version

--*/

#if !defined( __PSCR_RDWR_H__ )
#define __PSCR_RDWR_H__

#pragma pack( 1 )
//
//	The usage of the PSCR_REGISTERS struct is a little bit tricky:
//	We set the address of that stucture to the IO Base Port, then
//	the other reg's can accessed by their address.
//	p.E.	&PscrRegs = 0x320 --> &PscrRegs->CmdStatusReg = 0x321...
//
typedef struct _PSCR_REGISTERS {

	UCHAR  DataReg;
	UCHAR  CmdStatusReg;
	UCHAR  SizeLSReg;
	UCHAR  SizeMSReg;

 } PSCR_REGISTERS, *PPSCR_REGISTERS;

#define SIZEOF_PSCR_REGISTERS		( sizeof( PSCR_REGISTERS  )

#pragma pack()


typedef enum _READER_POWER_STATE {
    PowerReaderUnspecified = 0,
    PowerReaderWorking,
    PowerReaderOff
} READER_POWER_STATE, *PREADER_POWER_STATE;

typedef struct _READER_EXTENSION {

	//	I/O address where the reader is configured.
	PPSCR_REGISTERS IOBase;
	ULONG IOWindow;
	ULONG MaxIFSD;

	//	IRQ assigned by the system
	ULONG CurrentIRQ;

	//
	//	limit for read timeout. the absolute timeout limit is 
	//	MaxRetries * DELAY_PSCR_WAIT
	//

	ULONG MaxRetries;

	//	Source/Destination byte always used by the PCMCIA (PC Card) reader.
	UCHAR Device;

	//	Software revision ID of the SwapSmart firmware.
	UCHAR FirmwareMajor, FirmwareMinor, UpdateKey;

	//
	//	Interrupt status; the flag is raised if an freeze event was detected
	//	and cleared if the interface was cleared (int service routine or
	//	PscrRead)
	//
	BOOLEAN	FreezePending;

	//
	//	Selected file in the reader file system; the flag is raised if the
	//	ICC1 status file was selected & is cleared if any generic ioctl was
	//	issued (in this case another file may be selected)
	//
	BOOLEAN	StatusFileSelected;

    BOOLEAN RequestCancelled;

    BOOLEAN InvalidStatus;

    BOOLEAN CardPresent;

    // Current reader power state.
    READER_POWER_STATE ReaderPowerState;

} READER_EXTENSION, *PREADER_EXTENSION;

#define SIZEOF_READER_EXTENSION		( sizeof( READER_EXTENSION ))

//
//	Constants -----------------------------------------------------------------
//
#define PSCR_ID_STRING				"SCM SwapSmart 2."

#define TLV_BUFFER_SIZE				0x20
#define ATR_SIZE					0x40	// TS + 32 + SW + PROLOGUE + EPILOGUE...

#define PSCR_MAX_RETRIES			1000

#define CLEAR_BIT					0x00

#define DEFAULT_WAIT_TIME			0x01

#define PSCR_PROLOGUE_LENGTH		0x03
#define PSCR_EXT_PROLOGUE_LENGTH	0x05
#define PSCR_STATUS_LENGTH			0x02

#define PSCR_LRC_LENGTH				0x01
#define PSCR_CRC_LENGTH				0x02

#define PSCR_EPILOGUE_LENGTH		PSCR_LRC_LENGTH

#define PCB_DEFAULT					0x00

#define MAX_T1_BLOCK_SIZE			270
//
//	data buffer idx
//
#define PSCR_NAD					0x00
#define PSCR_PCB					0x01
#define PSCR_LEN					0x02
#define PSCR_INF					0x03
#define PSCR_APDU					PSCR_INF
//
//	device identifier for reset, deactivate
//
#define DEVICE_READER				0x00
#define DEVICE_ICC1					0x01
#define DEVICE_ICC2					0x02
//
//	NAD's
//
#define NAD_TO_ICC1					0x02
#define NAD_TO_ICC2					0x42
#define NAD_TO_PSCR					0x12
#define REMOTE_NAD_TO_ICC1			0x03
#define REMOTE_NAD_TO_ICC2			0x43
#define REMOTE_NAD_TO_PSCR			0x13
//
//	PSCR Commands
//
#define CLA_SET_INTERFACE_PARAM		0x80
#define CLA_FREEZE					0x80
#define CLA_RESET					0x20
#define CLA_DEACTIVATE				0x20
#define CLA_SELECT_FILE				0x00
#define CLA_READ_BINARY				0x00
#define CLA_WRITE_BINARY			0x00
#define CLA_VERIFY					0x00
#define CLA_WARM_RESET				0x20
#define CLA_SOFTWARE_UPDATE			0x80
#define CLA_SET_MODE				0x80

#define INS_SET_INTERFACE_PARAM		0x60
#define INS_FREEZE					0x70
#define INS_RESET					0x10
#define INS_DEACTIVATE				0x14
#define INS_SELECT_FILE				0xA4
#define INS_READ_BINARY				0xB0
#define INS_WRITE_BINARY			0xD0
#define INS_VERIFY					0x20
#define INS_WARM_RESET				0x1F
#define INS_SOFTWARE_UPDATE			0xFF
#define INS_SET_MODE				0x61

//
//	Status Read Only Register
//
#define PSCR_DATA_AVAIL_BIT			0x80
#define PSCR_FREE_BIT				0x40
#define PSCR_WRITE_ERROR_BIT		0x02
#define PSCR_READ_ERROR_BIT			0x01
//
//	Command Write Only Register...
//
#define PSCR_RESET_BIT				0x08
#define PSCR_SIZE_READ_BIT			0x04
#define PSCR_SIZE_WRITE_BIT			0x02
#define PSCR_HOST_CONTROL_BIT		0x01
//
//	Tags...
//
#define TAG_MODULE					0x02
#define TAG_MEMORY_SIZE				0x03
#define TAG_UPDATE_KEY				0x08
#define TAG_SOFTWARE_REV			0x0F
#define TAG_BLOCK_COMP_OPTION		0x13
#define TAG_READER_MECH_OPTIONS		0x20
#define TAG_READER_STATUS			0x21
#define TAG_ICC_PROTOCOLS			0x22
#define TAG_BI						0x23
#define TAG_FI						0x24
#define TAG_PTS_PARAM				0x25
#define TAG_PROTOCOL_STATUS			0x26
#define TAG_SET_NULL_BYTES          0x2d
#define TAG_FREEZE_EVENTS			0x30
#define TAG_BIT_LENGTH				0x40
#define TAG_CGT						0x41
#define TAG_BWT						0x42
#define TAG_CWT						0x43
#define TAG_PROTOCOL_PARAM			0x44
//
//	card power definitions ( Tag 0x21 )
//
#define PSCR_ICC_ABSENT				0x00
#define PSCR_ICC_PRESENT			0x01
#define PSCR_ICC_POWERED			0x02
#define PSCR_ICC_IN_TRANSP_MODE		0xA0
#define PSCR_ICC_UNKNOWN            0xFF
//
//	protocol definitions ( Tag 0x22 )
//
#define PSCR_PROTOCOL_UNDEFINED		0x00
#define PSCR_PROTOCOL_T0			0x01
#define PSCR_PROTOCOL_T1			0x02
#define PSCR_PROTOCOL_T14			0x03
#define PSCR_PROTOCOL_I2C			0x80
#define PSCR_PROTOCOL_3WIRE			0x81
#define PSCR_PROTOCOL_2WIRE			0x81

#define WTX_REQUEST                 0xC3
#define WTX_REPLY                   0xE3
//
//	File ID's
//
#define FILE_MASTER						0x3F00
#define FILE_PSCR_CONFIG				0x0020
#define FILE_PSCR_DIR					0x7F60
#define FILE_PSCR_DIR_CONFIG			0x6020
#define FILE_PSCR_DIR_STATUS			0x6021
#define FILE_PSCR_DIR_FREEZE_CONFIG		0x6030
#define FILE_PSCR_DIR_FREEZE_STATUS		0x6031
#define FILE_ICC1_DIR					0x7F70
#define FILE_ICC1_DIR_CONFIG			0x7020
#define FILE_ICC1_DIR_STATUS			0x7021
#define FILE_ICC2_DIR_CONFIG			0x7120
#define FILE_ICC2_DIR_STATUS			0x7121
//
//	Status Word Definitions
//
#define PSCR_SW_COMMAND_FAIL			0x6985
#define PSCR_SW_INVALID_PARAM			0x6A80
#define PSCR_SW_INCONSISTENT_DATA		0x6A85
#define PSCR_SW_NO_PROTOCOL_SUPPORT		0x62A3
#define PSCR_SW_SYNC_ATR_SUCCESS		0x9000
#define PSCR_SW_ASYNC_ATR_SUCCESS		0x9001
#define PSCR_SW_NO_PROTOCOL				0x62A5
#define PSCR_SW_NO_ATR					0x62A6
#define PSCR_SW_NO_ATR_OR_PROTOCOL		0x62A7
#define PSCR_SW_NO_ICC					0x64A1
#define PSCR_SW_ICC_NOT_ACTIVE			0x64A2
#define PSCR_SW_NON_SUPPORTED_PROTOCOL	0x64A3
#define PSCR_SW_PROTOCOL_ERROR			0x64A8
#define PSCR_SW_NO_ATR_OR_PROTOCOL2		0x64A7
#define PSCR_SW_FILE_NOT_FOUND			0x6A82
#define PSCR_SW_FILE_NO_ACCEPPTED_AUTH	0x6982
#define PSCR_SW_FILE_NO_ACCESS			0x6985
#define PSCR_SW_FILE_BAD_OFFSET			0x6B00
#define PSCR_SW_END_OF_FILE_READ		0x6282
#define PSCR_SW_END_OF_FILE_WRITE		0x6301
#define PSCR_SW_WRITE_FILE_FAIL			0x6500
#define PSCR_SW_NO_PASSWORD				0x6200
#define PSCR_SW_WRONG_PASSWORD			0x6300
#define PSCR_SW_VERIFY_COUNTER_FAIL		0x6983
#define PSCR_SW_NO_REF_DATA				0x6A88
#define PSCR_SW_FLASH_MEM_ERROR			0x6481
#define PSCR_SW_FLASH_MEM_ERR2			0x6581
#define PSCR_SW_WRONG_LENGTH			0x6700
#define PSCR_SW_UNKNOWN_ICC_ERROR		0x64A0
#define PSCR_SW_UNKNOWN_PROTOCOL_ERROR	0x64A9
#define PSCR_SW_NO_PROTOCOL_SELECTED	0x64A5
#define PSCR_SW_PTS_PROTOCOL_ERROR		0x64AA
#define PSCR_SW_WTX_ERROR				0x64AB
#define PSCR_SW_WTX_ERR2				0x65AB
#define PSCR_SW_INVALID_SOURCE_ADDR		0x6F82

//
//	Prototypes for access functions -------------------------------------------
//


VOID
PscrFlushInterface(
	PREADER_EXTENSION	ReaderExtension		//	context of call
	);

NTSTATUS
PscrRead(
	PREADER_EXTENSION	ReaderExtension,		//	context of call
	PUCHAR				pData,					//	ptr to data buffer
	ULONG				DataLength,				//	length of data
	PULONG				pNBytes					//	number of bytes read
	);

NTSTATUS
PscrWrite(
	PREADER_EXTENSION	ReaderExtension,		//	context of call
	PUCHAR				pData,					//	ptr to data buffer
	ULONG				DataLength,				//	length of data
	PULONG				pNBytes					//	number of bytes written
	);

NTSTATUS
PscrWriteDirect(
	PREADER_EXTENSION	ReaderExtension,		//	context of call
	PUCHAR				pData,					//	ptr to data buffer
	ULONG				DataLength,				//	length of data
	PULONG				pNBytes					//	number of bytes written
	);

UCHAR
PscrCalculateLRC( 
	PUCHAR				pData,					//	ptr to data buffer
	USHORT				DataLength				//	length of data
	);

NTSTATUS
PscrWait(
	PREADER_EXTENSION	ReaderExtension,		//	context of call
	UCHAR				Mask					//	mask of requested bits
	);

#endif	//	__PSCR_RDWR_H__

//	------------------------------- END OF FILE -------------------------------



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线观看免费| 午夜婷婷国产麻豆精品| 欧美日韩高清一区二区三区| 91免费在线播放| av成人动漫在线观看| 成人午夜在线播放| 成人三级在线视频| 97se亚洲国产综合自在线| hitomi一区二区三区精品| 成人中文字幕合集| 一本色道久久综合精品竹菊| 91女神在线视频| 欧美日韩精品一区二区在线播放| 欧美羞羞免费网站| 欧美日韩国产精品成人| 日韩三级视频中文字幕| 精品国内二区三区| 国产精品五月天| 一个色综合网站| 天堂在线亚洲视频| 美女爽到高潮91| 国产一区91精品张津瑜| 成人av先锋影音| 91福利精品视频| 日韩一区二区视频| 国产欧美一区二区精品性色超碰 | 美女www一区二区| 精品一区精品二区高清| 国产 日韩 欧美大片| 色国产综合视频| 欧美一二区视频| 中文文精品字幕一区二区| 亚洲视频免费看| 婷婷中文字幕一区三区| 国产一区二区久久| 色先锋资源久久综合| 欧美一区二区在线观看| 中国av一区二区三区| 亚洲国产精品视频| 国产一区二区三区免费看| 99久久精品费精品国产一区二区| 欧美一区二区三区免费在线看| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美色视频一区| 精品日韩在线一区| 亚洲精品成人悠悠色影视| 五月婷婷激情综合| 91亚洲精华国产精华精华液| 欧美成人伊人久久综合网| 亚洲欧美色一区| 国产激情91久久精品导航| 欧美日韩国产不卡| 亚洲私人影院在线观看| 国产精品综合二区| 欧美卡1卡2卡| 亚洲精品videosex极品| 大桥未久av一区二区三区中文| 欧美精品 国产精品| 最近中文字幕一区二区三区| 久久99国产精品免费网站| 在线免费一区三区| 国产精品乱码一区二区三区软件| 久久电影网电视剧免费观看| 欧美精品日韩综合在线| 亚洲柠檬福利资源导航| 成人午夜电影小说| 日韩免费观看高清完整版| 亚洲国产精品人人做人人爽| 91免费版pro下载短视频| 国产免费成人在线视频| 久久99国产精品久久99果冻传媒| 欧美日韩激情在线| 亚洲线精品一区二区三区 | 欧美电影影音先锋| 亚洲一区在线视频观看| 日本福利一区二区| 亚洲男帅同性gay1069| 91在线观看一区二区| 国产清纯在线一区二区www| 国产一区二区在线影院| 精品国免费一区二区三区| 久久精品国产成人一区二区三区| 欧美丰满少妇xxxbbb| 午夜日韩在线观看| 69堂精品视频| 久久福利资源站| 久久久www成人免费毛片麻豆| 国产很黄免费观看久久| 国产精品卡一卡二卡三| 日本韩国视频一区二区| 亚洲一区二区精品视频| 8x福利精品第一导航| 麻豆91在线看| 国产欧美精品区一区二区三区 | 日韩欧美一区在线| 国产综合色视频| 中文av一区二区| 色激情天天射综合网| 亚洲成在线观看| 日韩精品一区二区三区在线播放| 国产精品中文字幕日韩精品| 国产欧美日韩在线观看| 色菇凉天天综合网| 日本成人在线电影网| 国产欧美精品一区二区色综合朱莉| 成人激情电影免费在线观看| 一区二区高清视频在线观看| 欧美一级二级三级乱码| 国产99久久久国产精品免费看| 亚洲综合在线观看视频| 日韩欧美国产小视频| 99久久综合色| 六月婷婷色综合| 国产精品网站一区| 欧美一区欧美二区| 成av人片一区二区| 婷婷六月综合亚洲| 国产精品黄色在线观看| 3atv在线一区二区三区| 国产99精品在线观看| 视频一区二区三区在线| 国产欧美一区二区精品秋霞影院| 欧美日本乱大交xxxxx| 国产精品88av| 午夜精品一区二区三区免费视频| wwww国产精品欧美| 欧美日韩国产美| 国产河南妇女毛片精品久久久| 亚洲福利一区二区三区| 欧美激情资源网| 精品国产一区二区三区不卡| 欧美在线免费观看亚洲| 高清久久久久久| 久久精品国产亚洲aⅴ| 亚洲国产综合视频在线观看| 国产日韩欧美精品在线| 日韩欧美国产精品一区| 在线播放91灌醉迷j高跟美女 | 久久精品日产第一区二区三区高清版 | 91精品国产综合久久久蜜臀粉嫩 | 国模大尺度一区二区三区| 午夜激情久久久| 一区二区三区高清| 国产精品国产三级国产aⅴ入口| 久久先锋影音av鲁色资源| 欧美浪妇xxxx高跟鞋交| 欧美视频一区二| 色悠悠亚洲一区二区| 97精品国产97久久久久久久久久久久| 国产精品一区二区在线观看不卡 | 亚洲色图一区二区| 亚洲天堂网中文字| 国产精品不卡一区二区三区| 国产婷婷色一区二区三区在线| 日韩欧美亚洲国产另类| 欧美一卡2卡3卡4卡| 欧美一区二区三区免费在线看| 91精品国产一区二区三区香蕉| 欧美精品一二三区| 4438成人网| 日韩欧美的一区二区| 精品入口麻豆88视频| 久久久久国产精品麻豆ai换脸| 久久久久久久久岛国免费| 国产亚洲成aⅴ人片在线观看| 国产日韩v精品一区二区| 国产精品美女久久久久久| 国产精品麻豆99久久久久久| 玉足女爽爽91| 日本不卡在线视频| 国产传媒一区在线| 成人福利在线看| 欧美性videosxxxxx| 日韩三级伦理片妻子的秘密按摩| 精品国产乱码久久久久久久久| 国产日产欧产精品推荐色 | 国产精品综合一区二区三区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩视频不卡中文| 久久精品欧美一区二区三区不卡| 国产精品欧美一级免费| 亚洲最大的成人av| 日韩vs国产vs欧美| 亚洲资源中文字幕| 亚洲国产日韩在线一区模特| 亚洲444eee在线观看| 国产精品18久久久久久久网站| 盗摄精品av一区二区三区| 成人av电影免费在线播放| 欧美日韩一区二区三区在线看| 91麻豆精品国产91久久久使用方法| 欧美一区二区三区在线观看视频| 欧美日韩日本视频| 日韩女优视频免费观看| 中文字幕不卡在线| 一区二区三区在线视频免费| 欧美激情一区在线| 午夜精品福利久久久| 国产一级精品在线| 99re这里只有精品6|