📄 image.h
字号:
#ifndef __IMAGE__H__
#define __IMAGE__H__
#define EX_MAIN_SIZE 0x2000
#define EXE_LAST_TFFS 0x100
#define EXE_DATA_EMPTY (EX_EXTRA_ERROR+1)
#define EXE_USAGE (EX_EXTRA_ERROR+2)
#define EXE_END_OF_DATA (EX_EXTRA_ERROR+3)
#define EXE_IMAGE (EX_EXTRA_ERROR+4)
#define EXE_NOT_COMPATIBLE (EX_EXTRA_ERROR+5)
#define MEDIA_HEADER_SIZE 64
#define PARTITION_HEADER_SIZE 64
#define UNIT_DATA_SIZE 16
#define MAX_FLOORS 4
#define MAX_PARTS 4
typedef struct
{
EXWORD wFlashType; /* Flash type */
EXDWORD dwMediaSize; /* Media size */
EXDWORD dwOsakver; /* Osak version */
EXBYTE bFloors; /* Number of floors */
EXBYTE bMediaType; /* Media type */
EXBYTE bPercentUsed; /* Percent capacity used */
EXBYTE bBdtls; /* Number of BDTL partitions */
EXBYTE bBdks; /* Number of BDK partitions */
}MediaHeader;
typedef struct
{
EXDWORD dwSize; /* Partition size, in bytes */
EXDWORD dwSpares; /* No of spare units */
EXDWORD dwFlags; /* formatting flags */
EXTEXT pProtKey[8]; /* Protection key */
EXBYTE bProtType; /* Protection type */
EXWORD wSectorPerUnit; /* logical unit length / 512 */
EXDWORD dwMTDFlags; /* MTD read/write flags */
}PartitionHeader;
typedef enum
{
DT_FORMAT=1, /* media header */
DT_OTP, /* OTP */
DT_IPL, /* IPL */
DT_IPL_XL, /* IPL with XL bit */
DT_IPL_SA, /* IPL with XL bit */
DT_BDK, /* sector of BDK partition */
DT_BDTL, /* sector of BDTL partition */
DT_LAST=0xfe, /* EOF */
DT_INIT /* doesn't written to image, used for initialization of PutImage */
}DataType;
typedef struct
{
EXDWORD dwUnit;
EXDWORD dwSector;
EXWORD wDataLen;
DataType dataType;
EXBYTE bFloor;
EXBYTE bPart;
}DataHeader;
typedef struct
{
EXBYTE bPartType; /* 0 - BDK, 1 - BDTL, 2 - empty */
EXBYTE bPart;
EXTEXT pPassword[8];
}Passwd;
typedef struct
{
Passwd
#ifndef PUTIMAGE
srcPass[2],
#endif
tarPass[2],chPass[2];
EXBYTE bSocketSrc,bSocketTar; /* ==SOCKETS if not DOC */
EXDWORD dwBusConfig;
ExDevice imageDevSrc
#ifndef PUTIMAGE
,imageDevTar
#endif
;
#ifndef NO_SINGLE
EXBYTE bSingle; /* ==0xff if no single floor */
#endif
EXBYTE bVerify;
}Params;
ExStatus EXAPI ImageSaftl();
/* Patch until ExSprintf will be added to X files */
#ifndef ExSprintf
#define ExSprintf sprintf
#endif /* ExSprintf */
#endif /* __IMAGE__H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -