📄 flashtool_handle.h_tmp
字号:
#include "mtk_resource.h"
#ifdef __cplusplus
extern "C" {
#endif
//------------------------------------------------------------------------------
// return code
//------------------------------------------------------------------------------
#define FTHND_RET(ret) (ret&0x0000FF00)
#define FTHND_OK 0x000000
#define FTHND_ERROR 0x000100
#define FTHND_NO_MEMORY 0x000200
#define FTHND_INVALID_ARGUMENTS 0x000300
#define FTHND_ILLEGAL_INDEX 0x000400
#define FTHND_HANDLE_BUSY_NOW 0x000500
#define FTHND_FILE_IS_UPDATED 0x000600
#define FTHND_FILE_IS_NOT_LOADED 0x000700
#define FTHND_FILE_LOAD_FAIL 0x000800
#define FTHND_FILE_UNLOAD_FAIL 0x000900
#define FTHND_LIST_IS_EMPTY 0x000A00
#define FTHND_SCAT_INCORRECT_FORMAT 0x000B00
#define FTHND_SCAT_ADDR_IS_NOT_WORD_ALIGN 0x000C00
#define FTHND_SCAT_OFFSET_IS_NOT_WORD_ALIGN 0x000D00
#define FTHND_SCAT_ADDR_IS_NOT_ASCENDING_ORDER 0x000E00
#define FTHND_SCAT_REGION_IS_OVERLAP 0x000F00
#define FTHND_SCAT_JUMPTABLE_IS_NOT_ABSOLUTE_ADDR 0x001000
#define FTHND_SCAT_NOT_RES_LOAD_REGION_INDEX 0x001100
#define FTHND_RES_MECHANISM_DISABLED 0x001200
#define FTHND_RES_NO_MATCH_IN_JUMPTABLE 0x001300
#define FTHND_RES_IS_NOT_DOWNLOAD_WITH_JUMPTABLE 0x001400
#define FTHND_RES_DOWNLOAD_SELECT_INCOMPLETE 0x001500
#define FTHND_RES_INCORRECT_FORMAT 0x001600
#define FTHND_JUMPTABLE_INCONSISTENT_WITH_SCAT 0x001700
#define FTHND_JUMPTABLE_INCORRECT_FORMAT 0x001800
#define FTHND_SCAT_ABSOLUTE_REGION_ADDR_CHANGED 0x001900
#define FTHND_UNKNOWN_BBCHIP_TYPE 0x001A00
#define FTHND_UNKNOWN_CUSTOM_NAME 0x001B00
#define FTHND_INPUT_BUFFER_TOO_SMALL 0x001C00
#define FTHND_NO_MATCHED_DA_FOUND 0x001D00
#define FTHND_RES_BASE_ADDR_NOT_MATCH 0x001E00
//------------------------------------------------------------------------------
// DL_HANDLE: Exported Functions
//------------------------------------------------------------------------------
typedef enum {
ABSOLUTE_ADDR = 0,
OFFSET_VALUE
} REGION_ADDR_TYPE;
typedef enum {
NORMAL_ROM = 0x01,
RESOURCE_BIN = 0x02,
JUMPTABLE_BIN = 0x04
} ROM_TYPE;
typedef struct {
char name[64];
unsigned int region_addr;
REGION_ADDR_TYPE addr_type; // ABSOLUTE_ADDR -> region_addr is absolute address
// OFFSET_VALUE -> region_addr is offset value
unsigned int begin_addr;
unsigned int end_addr;
char filepath[256];
unsigned int filesize;
unsigned short index;
ROM_TYPE rom_type;
_BOOL enable; // _FALSE -> disbale
// _TRUE -> enable
}ROM_INFO;
struct DL_HANDLE;
typedef struct DL_HANDLE * DL_HANDLE_T;
extern int __stdcall DL_Create(DL_HANDLE_T *p_dl_handle);
extern int __stdcall DL_Destroy(DL_HANDLE_T *p_dl_handle);
extern int __stdcall DL_LoadScatter(DL_HANDLE_T dl_handle, const char *scatter_filepath);
extern int __stdcall DL_SetPacketLength(DL_HANDLE_T dl_handle, unsigned short length);
extern int __stdcall DL_GetCount(DL_HANDLE_T dl_handle, unsigned short *p_rom_count);
extern int __stdcall DL_IsReady(DL_HANDLE_T dl_handle, ROM_INFO *p_rom_info, _BOOL check_if_updated);
extern int __stdcall DL_GetJumpTableInfo(DL_HANDLE_T dl_handle, MTK_JumpTable *p_jmptbl_info);
extern int __stdcall DL_ResourceProjectIdComparisonSetting(DL_HANDLE_T dl_handle, _BOOL enable);
extern int __stdcall DL_AutoLoadByScatRegionName(DL_HANDLE_T dl_handle, const char *full_filepath, unsigned char allow_rom_type);
extern int __stdcall DL_GetBBChipType(DL_HANDLE_T dl_handle, BBCHIP_TYPE *p_bbchip);
extern int __stdcall DL_GetBBChipName(DL_HANDLE_T dl_handle, char *buf, unsigned int buf_len);
extern int __stdcall DL_GetCustomName(DL_HANDLE_T dl_handle, char *buf, unsigned int buf_len);
extern int __stdcall DL_Rom_GetInfo(DL_HANDLE_T dl_handle, unsigned short index, ROM_INFO *p_rom_info);
extern int __stdcall DL_Rom_GetInfoAll(DL_HANDLE_T dl_handle, ROM_INFO *p_rom_info, unsigned short max_rom_count);
extern int __stdcall DL_Rom_GetResInfo(DL_HANDLE_T dl_handle, unsigned short index, MTK_Resource *p_res_info);
extern int __stdcall DL_Rom_SetFilepath(DL_HANDLE_T dl_handle, unsigned short index, const char *rom_filepath);
extern int __stdcall DL_Rom_LoadByFilepath(DL_HANDLE_T dl_handle, unsigned short index, const char *rom_filepath);
extern int __stdcall DL_Rom_Load(DL_HANDLE_T dl_handle, unsigned short index);
extern int __stdcall DL_Rom_Unload(DL_HANDLE_T dl_handle, unsigned short index);
extern int __stdcall DL_Rom_LoadAll(DL_HANDLE_T dl_handle, ROM_INFO *p_rom_info);
extern int __stdcall DL_Rom_UnloadAll(DL_HANDLE_T dl_handle);
extern int __stdcall DL_Rom_SetEnableAttr(DL_HANDLE_T dl_handle, unsigned short index, _BOOL attr);
//------------------------------------------------------------------------------
// DA_HANDLE: Exported Functions
//------------------------------------------------------------------------------
typedef struct {
char filepath[256];
unsigned int start_addr;
unsigned char *buf;
unsigned int buf_len;
}DA_INFO;
struct DA_HANDLE;
typedef struct DA_HANDLE * DA_HANDLE_T;
extern int __stdcall DA_Create(DA_HANDLE_T *p_da_handle);
extern int __stdcall DA_Destroy(DA_HANDLE_T *p_da_handle);
extern int __stdcall DA_IsReady(DA_HANDLE_T da_handle, DA_INFO *p_da_info, _BOOL check_if_updated);
extern int __stdcall DA_GetInfo(DA_HANDLE_T da_handle, DA_INFO *p_da_info);
extern int __stdcall DA_SetStartAddr(DA_HANDLE_T da_handle, unsigned int da_start_addr);
extern int __stdcall DA_SetFilepath(DA_HANDLE_T da_handle, const char *da_filepath);
extern int __stdcall DA_LoadByFilepath(DA_HANDLE_T da_handle, const char *da_filepath);
extern int __stdcall DA_Load(DA_HANDLE_T da_handle);
extern int __stdcall DA_Unload(DA_HANDLE_T da_handle);
extern int __stdcall DA_AutoLoadByBBChipType(DA_HANDLE_T da_handle, const BBCHIP_TYPE bbchip_type);
extern int __stdcall DA_AutoLoadByCustomName(DA_HANDLE_T da_handle, const char *custom_name);
//------------------------------------------------------------------------------
// RB_HANDLE: Exported Functions
//------------------------------------------------------------------------------
typedef struct {
char filepath[256];
unsigned int readback_addr;
unsigned int readback_len;
_BOOL enable; // _FALSE -> disbale
// _TRUE -> enable
unsigned short index;
}RB_INFO;
struct RB_HANDLE;
typedef struct RB_HANDLE * RB_HANDLE_T;
extern int __stdcall RB_Create(RB_HANDLE_T *p_rb_handle);
extern int __stdcall RB_Destroy(RB_HANDLE_T *p_rb_handle);
extern int __stdcall RB_SetPacketLength(RB_HANDLE_T rb_handle, unsigned short length);
extern int __stdcall RB_GetCount(RB_HANDLE_T rb_handle, unsigned short *p_rb_count);
extern int __stdcall RB_IsReady(RB_HANDLE_T rb_handle, RB_INFO *p_rb_info);
extern int __stdcall RB_GetInfo(RB_HANDLE_T rb_handle, unsigned short index, RB_INFO *p_rb_info);
extern int __stdcall RB_GetInfoAll(RB_HANDLE_T rb_handle, RB_INFO *p_rb_info, unsigned short max_rb_count);
extern int __stdcall RB_Append(RB_HANDLE_T rb_handle, const char *rb_filepath, unsigned int rb_addr, unsigned int rb_len);
extern int __stdcall RB_Delete(RB_HANDLE_T rb_handle, unsigned short index);
extern int __stdcall RB_SetFilepath(RB_HANDLE_T rb_handle, unsigned short index, const char *rb_filepath);
extern int __stdcall RB_SetReadbackAddr(RB_HANDLE_T rb_handle, unsigned short index, unsigned int rb_addr);
extern int __stdcall RB_SetReadbackLength(RB_HANDLE_T rb_handle, unsigned short index, unsigned int rb_len);
extern int __stdcall RB_ClearAll(RB_HANDLE_T rb_handle);
extern int __stdcall RB_SetEnableAttr(RB_HANDLE_T rb_handle, unsigned short index, _BOOL attr);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -