⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 micro900.h

📁 十分好的一个医院管理系统
💻 H
字号:
/**************************************************************************************************
 *
 * reader header file
 * name : reader.h
 *
 *
 **************************************************************************************************/

enum myCardType
{
	CT_UNKNOWN = 0, 

	CT_SLE4432 = 1, 
	CT_SLE4442 = 2, 

	CT_SLE4418 = 3, 
	CT_SLE4428 = 4, 

	CT_SLE4406 = 5, 
	CT_SLE4436 = 6,

	CT_AT88SC101 = 7, 
	CT_AT88SC102 = 8,

	CT_X76F640 = 9,

	CT_AT24C01A = 10,
	CT_AT24C02 = 11,
	CT_AT24C04 = 12,
	CT_AT24C08 = 13,
	CT_AT24C16 = 14,
	CT_AT24C32 = 15,
	CT_AT24C64 = 16,
	CT_AT24C128 = 17,
	CT_AT24C256 = 18,
	CT_AT24C512 = 19,

	CT_AT88SC1604 = 20,
	CT_AT88SC1608 = 21,
	CT_AT88SC153 = 22,
	
	CT_AT45D041 = 23,

	CT_NO_CARD = 1000
};

enum myErrorCode
{
	ERR_SUCCESS = 0,

	ERR_NO_CARD,
	ERR_TIMEOUT,
	ERR_COUNTER,
	ERR_PSC1,
	ERR_PSC2,

	ERR_FORMAT,

	ERR_NOT_ENOUGH_MEMORY,
	ERR_CREATE_PORT_FILE,
	ERR_GET_COMM_STATE,
	ERR_SET_COMM_STATE,
	ERR_SET_COMM_MASK,
	ERR_SET_COMM_TIMEOUTS,
	ERR_CREATE_THREAD,
	ERR_NULL_PORT_HANDLE,


	ERR_LAST
};

//
//
int WINAPI OpenPort( char *PortName, int *PortHandle );
int WINAPI ClosePort( );

//
//
int WINAPI SelectPort( int PortHandle );

//
//
int WINAPI PowerOn( );
int WINAPI PowerOff( );

//
//
int WINAPI IssueCommandAndWait( char Command, char *Data );
int WINAPI IssueCommandNoWait( char Command, char *Data );

//
//
void WINAPI PackBufferBinary( char *Out, char In1, char *In2 );

//
//
int WINAPI CardPresent( );
int WINAPI CardChanged( );

int WINAPI GetCardType( char *ATRBuffer );
char * WINAPI GetCardName( int CardType );

int WINAPI ReaderVersion( );

// 4428 prototypes
//
int WINAPI Read_4428_With_PB( int StartPos, int NOB, char *Bfr, char *PB_Bfr );
int WINAPI Read_4428_NO_PB( int StartPos, int NOB, char *Bfr );
int WINAPI Write_4428( int StartPos, char DestByte, char PBSetFlag ); // PBSetFlag == 1 then set PB
int WINAPI Verify_4428_PSC( char PSC1, char PSC2 );
int WINAPI Read_4428_SM( char *SM_Bfr, char *SM_PB_Bfr ); // SM_Bfr, SM_PB_Bfr : char [ 3 ]

// 4442 
//
int WINAPI Read_4442_With_PB( int StartPos, int NOB, char *Bfr, char *PB_Bfr );
int WINAPI Read_4442_NO_PB( int StartPos, int NOB, char *Bfr );
int WINAPI Read_4442_PB( char *PB_Bfr ); // bit buffer
int WINAPI Write_4442_PB( int Address ); // bit address
int WINAPI Write_4442( int StartPos, char DestByte, char PBSetFlag ); // PBSetFlag == 1 then set PB
int	WINAPI Write_4442_Array( int StartPos, int NOB, char *Bfr, char *PBSetFlag );
int WINAPI Verify_4442_PSC( char PSC1, char PSC2, char PSC3 );
int WINAPI Read_4442_SM( char *SM_Bfr ); // SM_Bfr: char [ 4 ]
int WINAPI Write_4442_SM( int SMAddress, char SMByte );


// 88sc102
//
int WINAPI Read_102_Bit( int StartBitAddress, int NOBit, char *Data );
int WINAPI Write_102_Bit( int StartBitAddress, int NOBit, char *Data );

int WINAPI Read_102_Byte( int ByteAddress, char *Data );
int WINAPI Write_102_Byte( int ByteAddress, char Data );

int WINAPI Read_102_Byte_Array( int ByteAddress, int NOB, char *Data );
int WINAPI Write_102_Byte_Array( int ByteAddress, int NOB, char *Data );

int WINAPI Read_102_Word( int WordAddress, char *Data );
int WINAPI Write_102_Word( int WordAddress, char *Data );
int WINAPI Erase_102_Word( int WordAddress );
int WINAPI Erase_102_Word_Array( int WordAddress, int WordCount );

int WINAPI Verify_102_SC( char *SCArray );
int WINAPI Verify_102_EZ1( char *EZ1Array );
int WINAPI Verify_102_EZ2( char *EZ2Array );

int WINAPI Erase_102_Global( );
int WINAPI Erase_102_AZ1( char *EZArray );
int WINAPI Erase_102_AZ2( char *EZArray );
int WINAPI Erase_102_AZ2_EC( char *EZArray );

int WINAPI Fuse_High_102( );
int WINAPI Fuse_Low_102( );

int WINAPI Blow_Manufacturer_Fuse_102( );
int WINAPI Blow_EC2EN_Fuse_102( );
int WINAPI Blow_Issuer_Fuse_102( );

// 4406
int WINAPI Read_4406( char *Data );

// 
int WINAPI Read_4436( char *Data );

// X76F640
int WINAPI Read_X76F640( char *Data );

// AT24C01A/02
int WINAPI Read_AT24C01A( int Address, int NOB, char *Data );
int WINAPI Write_AT24C01A_Byte( int Address, char Data );
int WINAPI Write_AT24C01A_Page( int Address, int NOB, char *Data );

// AT24C04/08/16
int WINAPI Read_AT24C16( int Address, int NOB, char *Data );
int WINAPI Write_AT24C16_Byte( int Address, char Data );
int WINAPI Write_AT24C16_Page( int Address, int NOB, char *Data );

// AT24C32/64
int WINAPI Read_AT24C64( int Address, int NOB, char *Data );
int WINAPI Write_AT24C64_Byte( int Address, char Data );
int WINAPI Write_AT24C64_Page( int Address, int NOB, char *Data );

// AT24C128/256
int WINAPI Read_AT24C256( int Address, int NOB, char *Data );
int WINAPI Write_AT24C256_Byte( int Address, char Data );
int WINAPI Write_AT24C256_Page( int Address, int NOB, char *Data );


//AT88SC1608
int WINAPI Select_1608_User_Zone( int ZoneAddr ); // ZoneAddr = 0 - 8
int WINAPI Read_1608_User_Zone( int ByteAddr, int NOB, char *Data );
int WINAPI Write_1608_User_Zone( int ByteAddr, int NOB, char *Data );
int WINAPI Read_1608_Configuration( int ByteAddr, int NOB, char *Data );
int WINAPI Write_1608_Configuration( int ByteAddr, int NOB, char *Data );
int WINAPI Read_1608_Fuses( char *Fuses );
int WINAPI Write_1608_Fuses( );
int WINAPI Verify_1608_Password( int ReadWrite, int SetNumber, char *Password );
int WINAPI Init_1608_Authentication( char *Q0 );
int WINAPI Verify_1608_Authentication( char *Q1 );

int WINAPI Compute_Challenge( char *Q0, char *GC, char *Ci, char *Q1, char *Q2 );

//AT88SC153
int WINAPI Write_153( int ZoneNumber, int Address, int NOB, char *Data );
int WINAPI Read_153( int ZoneNumber, int Address, int NOB, char *Data );
int WINAPI Verify_Password_153( int ReadWrite, int SetNumber, char *Password );
int WINAPI InitializeAuthentication_153( char *Q );
int WINAPI VerifyAuthentication_153( char *CH );
int WINAPI ReadFuse_153( char *Fuse );
int WINAPI BlowFuse_153( int FuseNumber );

//AT45D041
int Reset_45D041( );
int Status_45D041( char *StatusByte );
int Read_Main_45D041( int Page, int ByteAddress, int NOB, char *Data );
int Read_Buffer_45D041( int Buffer, int ByteAddress, int NOB, char *Data );
int Transfer_45D041( int Page, int Buffer );
int Compare_45D041( int Page, int Buffer );
int Buffer_Write_45D041( int Buffer, int ByteAddress, int NOB, char *Data );
int Program_Erase_45D041( int Buffer, int Page );
int Program_No_Erase_45D041( int Buffer, int Page );
int Program_Main_45D041( int Buffer, int Page, int ByteAddress, int NOB, char *Data );
int Rewrite_45D041( int Buffer, int Page );


//Des encrypto & decrypto
int WINAPI LoadKey( char *KeyBytes );
int WINAPI Encrypto( char *InputBytes, char *OutputBytes ); //bfr ovrdble
int WINAPI Decrypto( char *InputBytes, char *OutputBytes ); //bfr ovrdble

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -