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

📄 meta.h

📁 MTK 最新的flashtool工具的源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
 *    Rev 1.8   Oct 23 2003 23:01:30   mtk00539
 * add new return value in case of FAT find not found.
 * Resolution for 32: [META_DLL v3.3.1001][New] See the details below.
 * 
 *    Rev 1.7   Oct 21 2003 18:56:26   mtk00539
 * 1. add META_WaitForTargetReady api.
 * 2. add META_SetSysTraceCallback api for gather assert info.
 * 3. add ok flag in pm and afc result.
 * Resolution for 32: [META_DLL v3.3.1001][New] See the details below.
 * 
 *    Rev 1.6   Sep 26 2003 17:03:30   mtk00539
 * 1. [NVRAM] Add META_NVRAM_Calculate_IMEI_Spare function.
 * 2. [NVRAM] Modify META_NVRAM_Compose_IMEISV function to automatically calculate spare digit.
 * Resolution for 30: [META_DLL v3.2.1002][Add Feature] Add META_NVRAM_Calculate_IMEI_Spare function.
 * 
 *    Rev 1.5   Sep 18 2003 10:45:32   mtk00539
 * extend com port number
 * Resolution for 27: [META_DLL v3.2.1001][New] Adapt new CatcherTran database format
 * 
 *    Rev 1.4   Sep 02 2003 14:52:04   mtk00539
 * 1. [AUDIO] Switch audio testing to L4AUD instead of L1Audio.
 * 2. [FAT] Add MOVE, DELETE and FIND function for FAT operation.
 * 3. [RF] Add new api META_Rf_SetRampApcLevel().
 * 4. [NVRAM] Add IMEISV and L1audio parameter compose/decompose functions.
 * 5. Enlarge VerInfo_Cnf member.
 * Resolution for 26: [META_DLL v3.1.1001][Add Feature] See the reasons below.
 * 
 *    Rev 1.3   Aug 03 2003 13:34:14   mtk00539
 * 1. UART S/W flow control support.
 * 2. FAT operation.
 * 3. GPRS MultiSlot TX and InterRamp calibration data.
 * 4. Crystal calibration data.
 * 5. Target S/W, H/W and Melody version retrieval.
 * 6. Runtime debug log turn on/off in both release and debug version of DLL.
 * 7. [BUG FIX] Fix META_GetVersion() memory leak.
 * 8. [Enhance] Fixed ordinal number of each APIs META_DLL.dll exported.
 * Resolution for 23: [META_DLL v3.0.1001][AddFeature] S/W flow control support, FAT Read/Write, GPRS MultiSlot TX and Crystal Calibration Data, and bug fixed.
 * 
 *    Rev 1.2   May 20 2003 15:21:44   mtk00539
 * modify for new interface for VB
 * Resolution for 5: [META_DLL v2.2][AddFeature] Modify META_DLL for both C/C++ and VB support.
 * 
 *    Rev 1.1   Apr 01 2003 09:42:36   mtk00539
 * 1. add description for error code
 * 2. BUG: change RfTestResultAfc.fcb_ok to RfTestResultAfc.fcb_ok_number
 * 3. add NVRAM Editor relative APIs.
 * 4. add L1SP audio coefficient compose/decompose APIs
 * 5. change baseband status from kal_bool to kal_uint8
 * 6. change enum META_ERR_CODE to META_CNF_ERR_CODE.
 * 7. use unsigned char instead of BOOL.
 * 8. BUG: fix type inconsistent with primitive.sel
 * 9. export CatcherTran pointer instead of InternalDB for META_NVRAM_Init()
 * 10. add META_NVRAM_SetRecFieldBitValue() and META_NVRAM_GetRecFieldBitValue().
 * Resolution for 3: [META_DLL v2.0][AddFeature] Add new features for META_DLL v2.0
 * 
 *    Rev 1.0   Feb 25 2003 13:24:20   admin
 * Initial revision.
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*==============================================================================
*******************************************************************************/
#ifndef META_DLL_H
#define META_DLL_H

#include "brom.h"

#ifdef __cplusplus
extern "C" {
#endif

//--------------------------------------------------------------------------//
//  META General                                                            //
//--------------------------------------------------------------------------//

//-----------------------------------------------------//
//  META General: data structure definition            //
//-----------------------------------------------------//
typedef enum
{
	// META_DLL received a corrupted frame
	META_CNF_FRAME_ERROR = 0,

	// META_DLL received a confirm or indication from target,
	// but there is not corresponding call back function
	// installed for this confirm or indication.
	META_CNF_NO_CALLBACK = 1,

	// META_DLL received a corrupted primitive.
	META_CNF_PRIMITIVE_ERROR = 2,

	// META_DLL received a confirm or indication from
	// target, but there is no sufficient memory to process.
	META_CNF_NO_MEMORY = 3,

	// META_DLL retrieved a callback function, however,
	// the user input arguments are invalid.
	META_CNF_CALLBACK_PARAMETER_ERROR = 4,

	// META_DLL received a confirm with peer msg, however,
	// the peer msg is corrupted.
	META_CNF_PEER_MSG_ERROR = 5,

	// META_DLL received a confirm and successfully executed
	// the callback function.
	META_CNF_OK = 6
} META_CNF_ERR_CODE;

typedef enum
{
	META_SUCCESS = 0
	,META_FAILED
	,META_COMM_FAIL
	,META_NORESPONSE
	,META_BUFFER_LEN
	,META_FILE_BAD
	,META_LID_INVALID
	,META_INTERNAL_DB_ERR
	,META_NO_MEMORY
	,META_INVALID_ARGUMENTS
	,META_TIMEOUT
	,META_BUSY
	,META_INVALID_HANDLE
	,META_FAT_ERROR
	,META_FAT_DISK_FULL
	,META_FAT_ROOT_DIR_FULL
	,META_FAT_INVALID_FILENAME
	,META_FAT_INVALID_FILE_HANDLE
	,META_FAT_FILE_NOT_FOUND
	,META_FAT_DRIVE_NOT_FOUND
	,META_FAT_PATH_NOT_FOUND
	,META_FAT_ACCESS_DENIED
	,META_FAT_TOO_MANY_FILES
	,META_INCORRECT_TARGET_VER
	,META_COM_ERROR
	,META_BROM_CMD_ERROR
	,META_INCORRECT_BBCHIP_TYPE
	,META_BROM_ERROR
	,META_STOP_BOOTUP_PROCEDURE
	,META_CANCEL
	,META_CCT_NOT_IMPORT_PROFILE
	,META_CCT_INVALID_SENSOR_ID
	,META_CCT_TGT_NO_MEM_FOR_SINGLE_SHOT
	,META_CCT_TGT_NO_MEM_FOR_MULTI_SHOT
	,META_FUNC_NOT_IMPLEMENT_YET
	,META_CCT_NOT_IMPLEMENT_YET = META_FUNC_NOT_IMPLEMENT_YET
	,META_CCT_PREVIEW_ALREADY_STARTED
	,META_CCT_PREVIEW_ALREADY_STOPPED
	,META_CCT_READ_REG_NO_CNF
	,META_CCT_WRITE_REG_NO_CNF
	,META_CCT_TGT_ABORT_IMAGE_SENDING
	,META_CCT_READ_ONLY_REGISTER
	,META_CCT_LOAD_FROM_NVRAM_FAIL
	,META_CCT_SAVE_TO_NVRAM_FAIL
	,META_CCT_AE_INVALID_EC_LEVEL
	,META_CCT_AE_INVALID_EC_STEP
	,META_CCT_AE_ALREADY_ENABLED
	,META_CCT_AE_ALREADY_DISABLED
	,META_CCT_WB_INVALID_INDEX
	,META_CCT_NO_TGT_SENSOR_MATCH_IN_PROFILE
	,META_CCT_IMAGE_SENDING_FAME_NUM_ERROR
	,META_CCT_AE_IS_NOT_DISABLED
	,META_FAT_APP_QUOTA_FULL
	,META_IMEI_CD_ERROR
	,META_RFID_MISMATCH
	,META_NVRAM_DB_IS_NOT_LOADED_YET
	,META_CCT_ERR_CAPTURE_WIDTH_HEIGHT_TOO_SMALL
	,META_WAIT_FOR_TARGET_READY_TIMEOUT
	,META_CCT_ERR_SENSOR_ENG_SET_INVALID_VALUE
	,META_CCT_ERR_SENSOR_ENG_GROUP_NOT_EXIST
	,META_CCT_NO_TGT_ISP_MATCH_IN_PROFILE
	,META_CCT_TGT_ISP_SUPPORT_NOT_DEFINED
	,META_CCT_ERR_SENSOR_ENG_ITEM_NOT_EXIST
	,META_CCT_ERR_INVALID_COMPENSATION_MODE
	,META_CCT_ERR_USB_COM_NOT_READY
	,META_CCT_DEFECTPIXEL_CAL_UNDER_PROCESSING
	,META_CCT_ERR_DEFECTPIXEL_CAL_NO_MEM
	,META_CCT_ERR_TOO_MANY_DEFECT_PIXEL
	,META_CCT_ERR_CAPTURE_JPEG_FAIL
	,META_CCT_ERR_CAPTURE_JPEG_TIMEOUT
	,META_CCT_ERR_AF_FAIL
	,META_CCT_ERR_AF_TIMEOUT
	,META_CCT_ERR_AF_LENS_OFFSET_CAL_FAIL
	,META_CCT_ERR_PREVIEW_MUST_ENABLE
	,META_CCT_ERR_UNSUPPORT_CAPTURE_FORMAT
	,META_CCT_ERR_EXCEED_MAX_DEFECT_PIXEL
	,META_ERR_EXCEED_MAX_PEER_BUF_SIZE
	,META_CCT_ERR_INVALID_WIDTH_FACTOR
	,META_BROM_SECURITY_CHECK_FAIL
	,META_CCT_ERR_PREVIEW_MUST_DISABLE
	,META_MAUI_DB_INCONSISTENT
	,META_FAT_FILEPATH_TOO_LONG
	,META_FAT_RESTRICTED_FILEPATH
	,META_FAT_DIR_NOT_EXIST
	,META_FAT_DISK_SPACE_IS_NOT_ENOUGH
	,META_PERMISSION_DENIED
	,META_LAST_RESULT
} META_RESULT;

typedef enum  {
	META_BAUD2400 = 0,
	META_BAUD4800,
	META_BAUD9600,
	META_BAUD14400,
	META_BAUD19200,
	META_BAUD57600,
	META_BAUD115200,
	META_BAUD230400,
	META_BAUD460800,
	META_BAUD921600,
	META_BAUD_END = 0xFF
} META_COMM_BAUDRATE;

typedef enum {
	META_NO_FLOWCTRL = 0,	// no flow control
	META_SW_FLOWCTRL,		// enable S/W flow control
	META_FLOWCTRL_END
} META_FLOWCTRL;

typedef struct {
	char	BB_CHIP[64];	// BaseBand chip version
	char	ECO_VER[4];		// ECO version
	char	DSP_FW[64];		// DSP firmware version
	char	DSP_PATCH[64];	// DSP patch version
	char	SW_VER[64];		// S/W version
	char	HW_VER[64];		// H/W board version
	char	MELODY_VER[64];	// Melody version
} VerInfo_Cnf;

typedef struct {
	int 				com_port;
	META_COMM_BAUDRATE  baudrate[11];		// [META] META stage baudrate polling array, it must end with META_BAUD_END. 
	META_FLOWCTRL  		flowctrl;			// [META] META stage uart flow control type. 
	BOOT_META_ARG		boot_meta_arg;		// [BootROM] please refer to brom.h 
	unsigned int		ms_connect_timeout; // [META] META stage sync timeout value (after BootROM negotiation pass) 
} META_Connect_Req;

typedef struct {
	META_COMM_BAUDRATE  final_baudrate;					// [META] Detected META stage baudrate.     
	unsigned int		meta_ver_required_by_target;	// [META] Target required META_DLL version. 
	BOOT_RESULT			boot_result;					// [BootROM] boot-up result. 
	STATUS_E			boot_meta_ret;					// [BROM_DLL] The return code of Boot_META function. 
} META_Connect_Report;

typedef struct {
	int 				com_port;
	META_COMM_BAUDRATE  baudrate[11];		// [META] META stage baudrate polling array, it must end with META_BAUD_END. 
	META_FLOWCTRL  		flowctrl;			// [META] META stage uart flow control type. 
	unsigned int		ms_connect_timeout; // [META] META stage sync timeout value (after BootROM negotiation pass) 
} META_ConnectInMETA_Req;

typedef struct {
	META_COMM_BAUDRATE  final_baudrate;					// [META] Detected META stage baudrate. 
	unsigned int		meta_ver_required_by_target;	// [META] Target required META_DLL version. 
} META_ConnectInMETA_Report;

//-----------------------------------------------------//
//  META General: callback function definition         //
//-----------------------------------------------------//
typedef void (__stdcall *META_Error_CallBack)(const META_CNF_ERR_CODE  mr);
typedef void (__stdcall *META_SysTrace_CallBack)(const char *sys_trace);
typedef void (__stdcall *META_GET_VERSION_INFO_CNF)(const VerInfo_Cnf  *cnf, const short token, void *usrData);

//-----------------------------------------------------//
//  META for CTI                                       //
//-----------------------------------------------------//
typedef enum {
	 CTI_OK = 0
	,CTI_MISSING_HEADER
	,CTI_CORRUPTED_FAME
	,CTI_EXCEED_LEN
} CTI_RET_ENUM;

typedef void (__stdcall *META_CTI_CallBack)(CTI_RET_ENUM  ret, const int size, const unsigned char *data, void *param);
META_RESULT  __stdcall META_CTI_SendPacketCmd(const unsigned char *pPayLoadBuffer, int nPayloadLength);
META_RESULT  __stdcall META_CTI_SendPacketCmd_r(const int meta_handle, const unsigned char *pPayLoadBuffer, int nPayloadLength);
META_RESULT  __stdcall META_CTI_SetPacketCallback(META_CTI_CallBack  pCBFunc, void* param);
META_RESULT  __stdcall META_CTI_SetPacketCallback_r(const int meta_handle, META_CTI_CallBack  pCBFunc, void* param);

//-----------------------------------------------------//
//  Switch TST message format                          //
//-----------------------------------------------------//
typedef enum {
	META_TST_MSG_2G = 0,
	META_TST_MSG_3G
} META_TST_MSG_FORMAT;

META_RESULT  __stdcall META_SetTstMsgFormat(META_TST_MSG_FORMAT  msg_fmt);
META_RESULT  __stdcall META_SetTstMsgFormat_r(const int meta_handle, META_TST_MSG_FORMAT  msg_fmt);

//-----------------------------------------------------//
//  META Debug: exported debug function definition     //
//-----------------------------------------------------//
META_RESULT  __stdcall META_DebugOn();
META_RESULT  __stdcall META_DebugOn_ex(const int meta_handle);
META_RESULT  __stdcall META_DebugOff();
META_RESULT  __stdcall META_DebugClear();

//-----------------------------------------------------//
//  META UnitTest                                      //
//-----------------------------------------------------//

typedef struct {
	unsigned int	m_TestCaseID;
	const char *	m_pDescription;
} META_UT_TestCaseID_T;

⌨️ 快捷键说明

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