📄 micro900.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 + -