📄 magcard.h
字号:
enum ICArea {
ANY=0, // any
FZ,IZ,SC,SCEC,CPZ, // head
SC1,SC1EC,EZ1,EZ1EC,AZ1, // area1
SC2,EZ2,EZ2EC,AZ2, // area2
SC3,EZ3,EZ3EC,AZ3, // area3
SC4,EZ4,EZ4EC,AZ4, // area4
MTZ,FUSE // tail
};
/* Functions defined below is to be used with Atmel 1604 memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICread_1604(int port, enum ICArea area,int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICreadD_1604(int port, int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICreadEC_1604(int port, enum ICArea area,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwrite_1604(int port,enum ICArea area, int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwriteD_1604(int port,int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICerase_1604(int port,enum ICArea area, int address, int datalen,
unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICeraseD_1604(int port,int address, int datalen,
unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICoverwrite_1604(int port,enum ICArea area, int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICoverwriteD_1604(int port, int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICfuse_1604(int port,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICPassword_1604(int port,enum ICArea area,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICChangePassword_1604(int port,enum ICArea area,
unsigned char *oldkey,unsigned char *newkey,int mode,unsigned char * me1,
unsigned char * me2,int * status, int *line);
void MCAPI GetCode_1604(int port,unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /*_1604_H_*/
#endif // USE_AT88SC1604
#ifdef USE_AT88SC1604_B
#ifndef _1604B_H_
#define _1604B_H_
//1604B is a 1604 card that is unequally divided into 4 areas.
// area1 is 1195 bytes and the other 3 is 256 bytes
#include "..\magcard.h"
/* IC Area definition */
enum ICArea {
/*any*/
ANY=0,
/*head*/
FZ,IZ,SC,SCEC,CPZ,
/*area1*/
SC1,SC1EC,EZ1,EZ1EC,AZ1,
/*area2*/
SC2,EZ2,EZ2EC,AZ2,
/*area3*/
SC3,EZ3,EZ3EC,AZ3,
/*area4*/
SC4,EZ4,EZ4EC,AZ4,
/*tail*/
MTZ,FUSE
};
/* Functions defined below is to be used with Atmel 1604B memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICread_1604B(int port, enum ICArea area,int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICreadD_1604B(int port, int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICreadEC_1604B(int port, enum ICArea area,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwrite_1604B(int port,enum ICArea area, int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwriteD_1604B(int port,int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICerase_1604B(int port,enum ICArea area, int address, int datalen,
unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICeraseD_1604B(int port,int address, int datalen,
unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICoverwrite_1604B(int port,enum ICArea area, int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICoverwriteD_1604B(int port, int address, int datalen,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICfuse_1604B(int port,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICPassword_1604B(int port,enum ICArea area,
unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICChangePassword_1604B(int port,enum ICArea area,
unsigned char *oldkey,unsigned char *newkey,int mode,unsigned char * me1,
unsigned char * me2,int * status, int *line);
void MCAPI GetCode_1604B(int port,unsigned char *data,int mode,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /*_1604B_H_*/
#endif // USE_AT88SC1604_B
#ifdef USE_AT88SC1608
#ifndef _1608_H_
#define _1608_H_
#include <windows.h>
/* IC Area definition */
enum ICArea1608 {
ZZ_ANY=0, /*whole configuration area*/
Z_FAB, /*fabrication area*/
ATR/*answer to reset*/,LHC/*Lot History Code*/,FC/*Fab Code*/,CMC/*Card Manufacturer Code*/,
Z_ACCESS, /*access area*/
AR0,AR1,AR2,AR3,AR4,AR5,AR6,AR7,
Z_AUTH, /*authentication area*/
AAC,Nc/*Identification Numer*/,Ci/*Cryptogram*/ ,
Z_SECRET, /*secret area*/
Gc, /*secret seed*/
Z_TEST, /*test area*/
Z_PASS, /*passwords area*/
WPAC0,WPW0,RPAC0,RPW0,
WPAC1,WPW1,RPAC1,RPW1,
WPAC2,WPW2,RPAC2,RPW2,
WPAC3,WPW3,RPAC3,RPW3,
WPAC4,WPW4,RPAC4,RPW4,
WPAC5,WPW5,RPAC5,RPW5,
WPAC6,WPW6,RPAC6,RPW6,
WPAC7,WPW7,RPAC7,RPW7,
Z_USER /*user zone*/
};
/* Functions defined below is to be used with Atmel 1608 memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICInitAuth_1608(int port,unsigned char *data,
unsigned char * me1,unsigned char * me2,int * status, int *line);
int MCAPI ICVerifyAuth_1608(int port,unsigned char *data,
unsigned char * me1,unsigned char * me2,int * status, int *line);
void MCAPI SetInit_1608(unsigned char Ci[8],unsigned char Gc[8],unsigned char Q0[8]);
void MCAPI Auth_1608(unsigned char q1[8],unsigned char q2[8]);
int MCAPI ICSetUserZone_1608(int port,int zone,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICReadUserZone_1608(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICReadCfg_1608(int port, enum ICArea1608 area,int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICWriteUserZone_1608(int port,int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICWriteCfg_1608(int port,enum ICArea1608 area, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICReadFuse_1608(int port,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICWriteFuse_1608(int port,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICWriteCMAFuse_1608(int port,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICWritePERFuse_1608(int port,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICPassword_1608(int port,enum ICArea1608 area,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /*_1608_H_*/
#endif // USE_AT88SC1608
#ifdef USE_AT24C01
#ifndef _2401_H_
#define _2401_H_
#include <windows.h>
/* Functions defined below is to be used with ATMEL 2401 memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICread_2401(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwrite_2401(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /* _2401_H_ */
#endif // USE_AT24C01
#ifdef USE_AT24SC02
#ifndef _2402_H_
#define _2402_H_
#include <windows.h>
/* Functions defined below is to be used with ATMEL 2402 memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICread_2402(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwrite_2402(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /* _2402_H_ */
#endif // USE_AT24C02
#ifdef USE_AT24C04
#ifndef _2404_H_
#define _2404_H_
#include <windows.h>
/* Functions defined below is to be used with ATMEL 2404 memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICread_2404(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwrite_2404(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /* _2404_H_ */
#endif // USE_AT24C04
#ifdef USE_AT24C08
#ifndef _2408_H_
#define _2408_H_
#include <windows.h>
/* Functions defined below is to be used with ATMEL 2408 memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICread_2408(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwrite_2408(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /* _2408_H_ */
#endif // USE_AT24C08
#ifdef USE_AT24C16
#ifndef _2416_H_
#define _2416_H_
#include <windows.h>
/* Functions defined below is to be used with ATMEL 2416 memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICread_2416(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwrite_2416(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /* _2416_H_ */
#endif // USE_AT24C16
#ifdef USE_AT24C32
#ifndef _2432_H_
#define _2432_H_
#include <windows.h>
/* Functions defined below is to be used with ATMEL 2432 memory card.*/
#ifdef __cplusplus
extern "C" {
#endif
int MCAPI ICread_2432(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
int MCAPI ICwrite_2432(int port, int address, int datalen,
unsigned char *data,unsigned char * me1,unsigned char * me2,
int * status, int *line);
#ifdef __cplusplus
}
#endif
#endif /* _2432_H_ */
#endif // USE_AT24C32
#ifdef USE_AT24C64
#ifndef _2464_H_
#define _2464_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -