meta.h
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:167k
源码类别:

MTK

开发平台:

C++ Builder

  1. //--------------------------------------------------------------------------//
  2. //-----------------------------------------------------//
  3. //  NVRAM: data structure definition                   //
  4. //-----------------------------------------------------//
  5. // Reset NVRAM
  6. typedef enum 
  7. {
  8. NVRAM_RESET_ALL, // Reset all data items in both of user and system category
  9. NVRAM_RESET_USER, // Reset data items in user category
  10. NVRAM_RESET_SYSTEM, // Reset data items in system category
  11. NVRAM_RESET_CERTAIN, // Reset certain data item according to LID
  12. NVRAM_RESET_FACTORY // Reset to factory default value, all the LIDs has FACTORY attribute will be reseted 
  13. } ResetCategory;   
  14. typedef struct
  15. {
  16. ResetCategory category; // Reset category
  17. const char *LID; // The name of logical data item ID , it will be used
  18. // if and only if ResetCategory = NVRAM_RESET_CERTAIN,
  19. // in other case you can just assign NULL.
  20. } FT_NVRAM_RESET_REQ;
  21. typedef struct
  22. {
  23. unsigned char status; // The status of Reset
  24. } FT_NVRAM_RESET_CNF;
  25. // Read from NVRAM
  26. typedef struct
  27. {
  28. const char *LID; // The name of logical data item ID
  29. unsigned short  RID; // Record ID (the first record is 1)
  30. } FT_NVRAM_READ_REQ;
  31. typedef struct
  32. {
  33. unsigned short LID; // Logical data item ID of a EF
  34. unsigned short RID; // Record ID (the first record is 1)
  35. unsigned char status; // 0: read ok; others: read failed.
  36. unsigned int len; // [IN] Length of Buffer, [OUT] Length of read data
  37. // The "len" field indicates the size of "buf" you 
  38. // allocated. When the data is read back, "len" will
  39. // be replaced with the actual size of the data.
  40. unsigned char  *buf; // Buffer that will contains the content of record
  41. } FT_NVRAM_READ_CNF;
  42. //Write to NVRAM
  43. typedef struct
  44. {
  45. const char *LID; // The name of logical data item ID
  46. unsigned short RID; // Record ID (the first record is 1)
  47. unsigned int len; // Length of write data
  48. unsigned char *buf; // Buffer that contains the content of record
  49. } FT_NVRAM_WRITE_REQ;
  50. typedef struct
  51. {
  52. unsigned short LID; // Logical data item ID of a EF
  53. unsigned short RID; // Record ID (the first record is 1)
  54. unsigned char status; // 0: write ok; others: write failed.
  55. } FT_NVRAM_WRITE_CNF;
  56. // AGC path loss 
  57. #define  PLTABLE_SIZE  13 // element count of path loss table
  58. typedef  struct
  59. {
  60.    short        max_arfcn; // The maximum ARFCN of the indicated sub-band
  61.    char gain_offset; // The maximum available gain of transceiver of the indicated sub-band
  62. } sAGCGAINOFFSET;
  63. typedef struct
  64. {
  65.    sAGCGAINOFFSET     agcPathLoss[FrequencyBandCount][PLTABLE_SIZE];
  66. }l1cal_agcPathLoss_T;
  67. // Speech Coefficient
  68. typedef struct {
  69. short Speech_8k_Input_Coeff[30]; // FIR for input speech (microphone) with 8k sampling rate  
  70. short Speech_8k_Output_Coeff[30]; // FIR for output speech (speaker) with 8k sampling rate    
  71. short Speech_16k_Input_Coeff[62]; // FIR for input speech (microphone) with 16k sampling rate 
  72. short Speech_16k_Output_Coeff[62]; // FIR for output speech (speaker) with 16k sampling rate   
  73. short Additional_Speech_8k_Output_Coeff[5][30]; // The additional FIR for output speech (speaker) with 8k sampling rate 
  74. unsigned short Speech_8k_Output_Coeff_Index; // The active FIR index                      
  75. // 0 -> Speech_8k_Output_Coeff               
  76. // 1 -> Additional_Speech_8k_Output_Coeff[0] 
  77. // 2 -> Additional_Speech_8k_Output_Coeff[1] 
  78. // 3 -> Additional_Speech_8k_Output_Coeff[2] 
  79. // 4 -> Additional_Speech_8k_Output_Coeff[3] 
  80. // 5 -> Additional_Speech_8k_Output_Coeff[4] 
  81. }L1_SpeechCoeff_T;
  82. // Melody Coefficient
  83. typedef struct {
  84. short Melody_32k_Output_Coeff[45]; // FIR for melody playback with with 32k sampling rate 
  85. }L1_MelodyCoeff_T;
  86. // L1Audio Param
  87. typedef struct{
  88. L1_SpeechCoeff_T Speech_FIR[2]; // [0]: normal mode 
  89. // [1]: headset mode 
  90. // NOTE: In headset mode, Additional_Speech_8k_Output_Coeff and 
  91. //       Speech_8k_Output_Coeff_Index are ignored! you can just 
  92. //       leave them alone.                                      
  93. L1_MelodyCoeff_T Melody_FIR[2]; // [0]: loud speaker mode 
  94. // [1]: stereo speaker mode 
  95. unsigned short ES_TimeConst;
  96. unsigned short ES_VolConst;
  97. unsigned short ES_TimeConst2;
  98. unsigned short ES_VolConst2;
  99. unsigned short Media_Playback_Maximum_Swing;
  100. }l1audio_param_T;
  101. // L1Audio Param from W0547 
  102. #define SPEECH_NORMAL_MODE 0
  103. #define SPEECH_EARPHONE_MODE 1
  104. #define SPEECH_LOUDSPEAKER_MODE 2
  105. #define SPEECH_BT_ERAPHONE_MODE 3
  106. #define SPEECH_BT_CORDLESS_MODE 4
  107. #define SPEECH_AUX1_MODE 5
  108. #define SPEECH_AUX2_MODE 6
  109. #define SPEECH_AUX3_MODE 7
  110. typedef struct{
  111. L1_SpeechCoeff_T Speech_FIR[2]; // [0]: normal mode 
  112. // [1]: headset mode 
  113. // NOTE: In headset mode, Additional_Speech_8k_Output_Coeff and 
  114. //       Speech_8k_Output_Coeff_Index are ignored! you can just 
  115. //       leave them alone.                                      
  116. L1_MelodyCoeff_T Melody_FIR[2]; // [0]: loud speaker mode 
  117. // [1]: stereo speaker mode 
  118. unsigned short Speech_Common_Para[12];
  119. unsigned short Speech_ModeDependent_Para[8][8]; // [0]: Normal Mode             
  120. // [1]: Earphone Mode           
  121. // [2]: Loud Speaker Mode       
  122. // [3]: BlueTooth Earphone Mode 
  123. // [4]: BlueTooth Cordless Mode 
  124. // [5]: AUX1 Mode               
  125. // [6]: AUX2 Mode               
  126. // [7]: AUX3 Mode               
  127. unsigned short Media_Playback_Maximum_Swing;
  128. } l1audio_param_W0547_T;
  129. typedef struct{
  130. short speech_input_FIR_coeffs[6][45];
  131.     short speech_output_FIR_coeffs[6][45];
  132.     unsigned short selected_FIR_output_index;
  133.     unsigned short speech_common_para[12];
  134.     unsigned short speech_normal_mode_para[8];
  135.     unsigned short speech_earphone_mode_para[8];
  136.     unsigned short speech_loudspk_mode_para[8];
  137.     unsigned short speech_bt_earphone_mode_para[8];
  138.     unsigned short speech_bt_cordless_mode_para[8];
  139.     unsigned short speech_aux1_mode_para[8];
  140.     unsigned short speech_aux2_mode_para[8];
  141.     unsigned short speech_aux3_mode_para[8];
  142.     unsigned short Media_Playback_Maximum_Swing;
  143.     short Melody_FIR_Output_Coeff_32k_Tbl1[45];
  144. } l1audio_param_W0547_45_T;
  145. typedef struct{
  146. short speech_input_FIR_coeffs[6][45];
  147.     short speech_output_FIR_coeffs[6][45];
  148.     unsigned short selected_FIR_output_index;
  149.     unsigned short speech_common_para[12];
  150.     unsigned short speech_normal_mode_para[8];
  151.     unsigned short speech_earphone_mode_para[8];
  152.     unsigned short speech_loudspk_mode_para[8];
  153.     unsigned short speech_bt_earphone_mode_para[8];
  154.     unsigned short speech_bt_cordless_mode_para[8];
  155.     unsigned short speech_aux1_mode_para[8];
  156.     unsigned short speech_aux2_mode_para[8];
  157.     unsigned short speech_aux3_mode_para[8];
  158.     unsigned short Media_Playback_Maximum_Swing;
  159.     short Melody_FIR_Output_Coeff_32k_Tbl1[25];
  160. } l1audio_param_W0712_T;
  161. typedef struct
  162. {
  163.     short          speech_input_FIR_coeffs[6][45];
  164.     short          speech_output_FIR_coeffs[6][45];
  165.     unsigned short selected_FIR_output_index;
  166.     unsigned short speech_common_para[12];
  167.     unsigned short speech_mode_para[8][8];
  168.     unsigned short Media_Playback_Maximum_Swing;
  169.     short          Melody_FIR_Coeff_Tbl[25];
  170.     short          audio_compensation_coeff[2][45];  // new added, so different with others structure
  171. } l1audio_param_W0740_T;
  172. typedef struct
  173. {
  174.     short          speech_input_FIR_coeffs[6][45];
  175.     short          speech_output_FIR_coeffs[6][45];
  176.     unsigned short selected_FIR_output_index;
  177.     unsigned short speech_common_para[12];
  178.     unsigned short speech_mode_para[8][16];
  179.     unsigned short speech_volume_para[3][7][4];
  180.     unsigned short Media_Playback_Maximum_Swing;
  181.     short          Melody_FIR_Coeff_Tbl[25];
  182.     short          audio_compensation_coeff[2][45];  // new added, so different with others structure
  183. } l1audio_param_W0809_T; //l1audio_param_W0748_T;
  184. // crystalAfcData
  185. #define XO_SlopeArea_Num       8
  186. typedef struct {
  187. int min_freq;
  188. short min_dac;
  189. int inv_slope;
  190. }XO_SLOPE_AREA_DATA;
  191. typedef struct {  
  192. XO_SLOPE_AREA_DATA XO_SlopeAreaData[XO_SlopeArea_Num]; 
  193. }l1cal_crystalAfcData_T;
  194. // IMEISV
  195. typedef struct {
  196. char imei[16];
  197. unsigned char svn;
  198. unsigned char pad;
  199. }IMEISV_struct_T;
  200. // Custom Acoustic Volume
  201. #define MAX_VOL_CATE 3
  202. #define MAX_VOL_TYPE 7
  203. #define MAX_VOL_LEVEL 7
  204. typedef struct {
  205. unsigned char volume_gain[MAX_VOL_CATE][MAX_VOL_TYPE][MAX_VOL_LEVEL];
  206. // Volume Gain: [Mode (Normal, Headset, LoudSpeaker)]
  207. // [Tone type (CallTone, Keytone, MIC, GMI, Speech, SideTone, Melody) ]
  208. // [Level (1~7)]
  209. unsigned char volume[MAX_VOL_CATE][MAX_VOL_TYPE];
  210. // Current Volume Level: [Mode (Normal, Headset, LoudSpeaker)]
  211. // [Tone type (CallTone, Keytone, MIC, GMI, Speech, SideTone, Melody) ]
  212. // value: 0~6 [ Level_1(0) ~ Level_7(6) ]
  213.    
  214. } CustAcousticVol_T;
  215. typedef struct {
  216. unsigned char volume_gain[MAX_VOL_CATE][MAX_VOL_TYPE][MAX_VOL_LEVEL];
  217. // Volume Gain: [Mode (Normal, Headset, LoudSpeaker)]
  218. // [Tone type (CallTone, Keytone, MIC, GMI, Speech, SideTone, Melody) ]
  219. // [Level (1~7)]
  220. unsigned char volume[MAX_VOL_CATE][MAX_VOL_TYPE];
  221. // Current Volume Level: [Mode (Normal, Headset, LoudSpeaker)]
  222. // [Tone type (CallTone, Keytone, MIC, GMI, Speech, SideTone, Melody) ]
  223. // value: 0~6 [ Level_1(0) ~ Level_7(6) ]
  224.     unsigned char max_melody_volume_gain[MAX_VOL_CATE + 1];
  225.     unsigned char melody_volume_gain_step[MAX_VOL_CATE + 1];
  226.     unsigned char tv_out_volume_gain[MAX_VOL_LEVEL];
  227. } CustAcousticVol16lvl_T;
  228. // S/W Change 
  229. typedef enum {
  230. LID_VER_SAME = 0,
  231. LID_VER_CHANGED
  232. }LID_STATUS;
  233. typedef struct {
  234. int OldVer;
  235. int NewVer;
  236. char LID[64];
  237. }LID_Info;
  238. typedef struct {
  239.    int target_nvramsize; // current NVRAM size on target FAT file system
  240.    int target_freespace; // current freespace of target FAT file system
  241.    int target_overhead; // S/W upgrade operation overhead
  242.    int newdb_nvramsize; // new NVRAM size
  243.    unsigned char status; // 0 -> [OK] safe to upgrade to new NVRAM
  244.     // 1 -> [ERROR] can't retrieve info from target
  245.     // 2 -> [ERROR] freespace is not enough to upgrade to new NVRAM
  246. } NVRAM_GetDiskInfo_Cnf;
  247. // WiFi 
  248. typedef struct {
  249. unsigned char mac_addr[6];
  250. } WiFi_MacAddress_S;
  251. typedef struct {
  252. unsigned char CCKTxPWR[14]; 
  253. unsigned char OFDMTxPWR[14]; 
  254. } WiFi_TxPower_2400M_S;
  255. typedef struct {
  256. unsigned char TxPWR[34]; 
  257. } WiFi_TxPower_5000M_S;
  258. typedef struct {
  259. unsigned char i_ch_offset;
  260. unsigned char q_ch_offset;
  261. } WiFi_DAC_DC_Offset_S;
  262. typedef struct {
  263. unsigned char txAlcCCK[14];
  264.     unsigned char txOutputPowerDBCCK[14];
  265.     unsigned char txAlcOFDM [8][14];
  266.     unsigned char txOutputPowerDBOFDM[8][14];
  267. } WiFi_ALC_2400M_S;
  268. typedef struct
  269. {
  270.     unsigned char alcSlop1Divider;
  271.     unsigned char alcSlop1Dividend;
  272.     unsigned char alcSlop2Divider;
  273.     unsigned char alcSlop2Dividend;
  274. } WiFi_TxALC_2400M_S;
  275. typedef struct
  276. {
  277.    unsigned char BluetoothAddress[6];
  278.    unsigned char MinEncryptionSize[1];
  279.    unsigned char MaxEncryptionSize[1];
  280.    unsigned char HCITransportLayerParameters[3];
  281.    unsigned char FixedPIN[16];
  282.    unsigned char FixedPINLength[1];
  283.    unsigned char SleepEnableMask[1];
  284.    unsigned char LowPowerClockParameter[8];
  285.    unsigned char PowerControlConfiguration[13];
  286.    unsigned char SleepControlParameters[12];
  287.    unsigned char DebugControl[4];
  288.    unsigned char LCandRMOverrideEnable[4];
  289.    unsigned char RadioRegisterOverride[6];
  290.    unsigned char CodecConfiguration[8];
  291.    unsigned char CVSDGainVolumeSettings[6];
  292.    unsigned char VoiceSettings[2];
  293.    unsigned char UserBaudRate[3];
  294.    unsigned char LowPowerDriftRate[1];
  295.    unsigned char MaxTxPowerLevel[1];
  296.    unsigned char AdaptiveFrequencyHoppingParameters[29];
  297.    unsigned char BufferSize[4];
  298.    unsigned char GpioMapping[16];
  299.    unsigned char GpioPolarity[4];
  300. }  nvram_ef_btradio_rfmd3500_struct;
  301. typedef struct
  302. {
  303.     unsigned char BDAddr[6];
  304.     unsigned char ClassOfDevice[3];
  305.     unsigned char LinkKeyType[1];
  306.     unsigned char UnitKey[16];
  307.     unsigned char Encryption[3];
  308.     unsigned char PinCodeType[1];
  309.     unsigned char Voice[2];
  310.     unsigned char Codec[1];
  311.     unsigned char Radio[30];
  312.     unsigned char Sleep[6];
  313.     unsigned char MainOscillatorInfo[5];
  314.     unsigned char LPOInfo[4];
  315.     unsigned char AFH[9];
  316.     unsigned char PTA[49];
  317.     unsigned char WDT[2];
  318.     unsigned char Debug[1];
  319.     unsigned char UART[2];
  320. }  nvram_ef_btradio_mt6601_struct;
  321. typedef struct
  322. {
  323.     unsigned char BDAddr[6];
  324.     unsigned char CapId[1];
  325.     unsigned char LinkKeyType[1];
  326.     unsigned char UnitKey[16];
  327.     unsigned char Encryption[3];
  328.     unsigned char PinCodeType[1];
  329.     unsigned char Voice[2];
  330.     unsigned char Codec[1];
  331.     unsigned char Radio[6];
  332.     unsigned char Sleep[7];
  333.     unsigned char Reserved[2];
  334. }nvram_ef_btradio_mt6611_struct;
  335. //-----------------------------------------------------//
  336. //  NVRAM: callback function definition                //
  337. //-----------------------------------------------------//
  338. typedef void (__stdcall *META_NVRAM_Reset_CNF)(const FT_NVRAM_RESET_CNF *cnf, const short token, void *usrData);
  339. typedef void (__stdcall *META_NVRAM_Read_CNF)(const FT_NVRAM_READ_CNF *cnf, const short token, void *usrData);
  340. typedef void (__stdcall *META_NVRAM_Write_CNF)(const FT_NVRAM_WRITE_CNF *cnf, const short token, void *usrData);
  341. typedef void (__stdcall *CB_META_NVRAM_GET_DISK_INFO_CNF)(const NVRAM_GetDiskInfo_Cnf *cnf, const short token, void *usrData);
  342. //-----------------------------------------------------//
  343. //  NVRAM: exported function definition                //
  344. //-----------------------------------------------------//
  345. META_RESULT  __stdcall META_NVRAM_Init(const char *PathName, unsigned long *p_nvram_CatcherTranAddr);
  346. META_RESULT  __stdcall META_NVRAM_Init_r(const int meta_handle,const char *PathName, unsigned long *p_nvram_CatcherTranAddr);
  347. META_RESULT  __stdcall META_NVRAM_Reset(const FT_NVRAM_RESET_REQ *req, const META_NVRAM_Reset_CNF cb, short *token, void *usrData);
  348. META_RESULT  __stdcall META_NVRAM_Reset_r(const int meta_handle, const FT_NVRAM_RESET_REQ *req, const META_NVRAM_Reset_CNF cb, short *token, void *usrData);
  349. META_RESULT  __stdcall META_NVRAM_Read(const FT_NVRAM_READ_REQ *req, FT_NVRAM_READ_CNF *cnf, const META_NVRAM_Read_CNF cb, short *token, void *usrData);
  350. META_RESULT  __stdcall META_NVRAM_Read_r(const int meta_handle, const FT_NVRAM_READ_REQ *req, FT_NVRAM_READ_CNF *cnf, const META_NVRAM_Read_CNF cb, short *token, void *usrData);
  351. META_RESULT  __stdcall META_NVRAM_Write(const FT_NVRAM_WRITE_REQ *req, const META_NVRAM_Write_CNF cb, short *token, void *usrData);
  352. META_RESULT  __stdcall META_NVRAM_Write_r(const int meta_handle, const FT_NVRAM_WRITE_REQ *req, const META_NVRAM_Write_CNF cb, short *token, void *usrData);
  353. META_RESULT  __stdcall META_NVRAM_GetAllLIDNameLength(int *len);
  354. META_RESULT  __stdcall META_NVRAM_GetAllLIDName(char *buf, const int buf_len, int *NofLID);
  355. META_RESULT  __stdcall META_NVRAM_GetLIDVersion(const char *LID,unsigned short *ver);
  356. META_RESULT  __stdcall META_NVRAM_GetRecStructNameLength(const char *LID, int *len);
  357. META_RESULT  __stdcall META_NVRAM_GetRecStructName(const char *LID, char *buf, const int buf_len);
  358. META_RESULT  __stdcall META_NVRAM_GetAllRecFieldNameLength(const char *LID, int *len);
  359. META_RESULT  __stdcall META_NVRAM_GetAllRecFieldName(const char *LID, char *buf, const int buf_len, int *NofField);
  360. META_RESULT  __stdcall META_NVRAM_CheckFieldNameExist(const char *LID, const char *Field, bool *result);
  361. META_RESULT  __stdcall META_NVRAM_GetRecNum(const char *LID, int *num);
  362. META_RESULT  __stdcall META_NVRAM_GetRecLen(const char *LID, int *len);
  363. META_RESULT  __stdcall META_NVRAM_SetRecFieldValue(const char *LID, const char *field, char *buf, const int buf_len, void *value, const int value_len);
  364. META_RESULT  __stdcall META_NVRAM_GetRecFieldValue(const char *LID, const char *field, const char *buf, const int buf_len, void *value, const int value_len);
  365. META_RESULT  __stdcall META_NVRAM_SetRecFieldBitValue(const char *LID, const char *field, const char *bitname, char *buf, const int buf_len, const int bitvalue);
  366. META_RESULT  __stdcall META_NVRAM_GetRecFieldBitValue(const char *LID, const char *field, const char *bitname, const char *buf, const int buf_len, int *bitvalue);
  367. META_RESULT  __stdcall META_NVRAM_QueryIsLIDExist(const char *LID);
  368. META_RESULT  __stdcall META_NVRAM_ResetToFactoryDefault(unsigned int ms_timeout);
  369. META_RESULT  __stdcall META_NVRAM_ResetToFactoryDefault_r(const int meta_handle, unsigned int ms_timeout);
  370. META_RESULT  __stdcall META_NVRAM_LockDown(unsigned int ms_timeout);
  371. META_RESULT  __stdcall META_NVRAM_LockDown_r(const int meta_handle, unsigned int ms_timeout);
  372. META_RESULT  __stdcall META_NVRAM_OTP_LockDown(unsigned int ms_timeout);
  373. META_RESULT  __stdcall META_NVRAM_OTP_LockDown_r(const int meta_handle, unsigned int ms_timeout);
  374. // S/W Change 
  375. META_RESULT  __stdcall META_NVRAM_SWC_RetrieveChangeList(void);
  376. META_RESULT  __stdcall META_NVRAM_SWC_RetrieveChangeList_r(const int meta_handle);
  377. META_RESULT  __stdcall META_NVRAM_SWC_UpdateChangeList(void);
  378. META_RESULT  __stdcall META_NVRAM_SWC_UpdateChangeList_r(const int meta_handle);
  379. META_RESULT  __stdcall META_NVRAM_SWC_GetAllChangedLIDCount(int *NofLID);
  380. META_RESULT  __stdcall META_NVRAM_SWC_GetAllChangedLIDCount_r(const int meta_handle, int *NofLID);
  381. META_RESULT  __stdcall META_NVRAM_SWC_GetAllChangedLIDName(LID_Info *p_ArrayOfLID, const int NofLID);
  382. META_RESULT  __stdcall META_NVRAM_SWC_GetAllChangedLIDName_r(const int meta_handle, LID_Info *p_ArrayOfLID, const int NofLID);
  383. META_RESULT  __stdcall META_NVRAM_SWC_QueryIfLIDChanged(const char *LID, LID_STATUS  *result);
  384. META_RESULT  __stdcall META_NVRAM_SWC_QueryIfLIDChanged_r(const int meta_handle, const char *LID, LID_STATUS  *result);
  385. META_RESULT  __stdcall META_NVRAM_SWC_ImportData(LID_Info *p_import_multiple_lid, int num_of_import_multiple_lid, int import_1st_sys_record_size );
  386. META_RESULT  __stdcall META_NVRAM_SWC_ImportData_r(const int meta_handle, LID_Info *p_import_multiple_lid, int num_of_import_multiple_lid, int import_1st_sys_record_size );
  387. META_RESULT  __stdcall META_NVRAM_SWC_Database_Compare(const char *PathName, int *p_NumOfNewAddLID, int *p_NumOfModifiedLID, int *p_NumOfDeletedLID);
  388. META_RESULT  __stdcall META_NVRAM_SWC_Database_Compare_r(const int meta_handle, const char *PathName, int *p_NumOfNewAddLID, int *p_NumOfModifiedLID, int *p_NumOfDeletedLID);
  389. META_RESULT  __stdcall META_NVRAM_SWC_Get_Database_Compare_Result(LID_Info *p_ArrayOfNewAddLID, const int NumOfNewAddLID, LID_Info *p_ArrayOfModifiedLID, const int NumOfModifiedLID, LID_Info *p_ArrayOfDeletedLID, const int NumOfDeletedLID);
  390. META_RESULT  __stdcall META_NVRAM_SWC_Get_Database_Compare_Result_r(const int meta_handle, LID_Info *p_ArrayOfNewAddLID, const int NumOfNewAddLID, LID_Info *p_ArrayOfModifiedLID, const int NumOfModifiedLID, LID_Info *p_ArrayOfDeletedLID, const int NumOfDeletedLID);
  391. META_RESULT  __stdcall META_NVRAM_SWC_Check_FAT_FreeSpace(const CB_META_NVRAM_GET_DISK_INFO_CNF  cb, short *token, void *usrData);
  392. META_RESULT  __stdcall META_NVRAM_SWC_Check_FAT_FreeSpace_r(const int meta_handle, const CB_META_NVRAM_GET_DISK_INFO_CNF  cb, short *token, void *usrData);
  393. META_RESULT  __stdcall META_NVRAM_SWC_Enable_ForceUpgrade(void);
  394. META_RESULT  __stdcall META_NVRAM_SWC_Enable_ForceUpgrade_r(const int meta_handle);
  395. META_RESULT  __stdcall META_NVRAM_SWC_Disable_ForceUpgrade(void);
  396. META_RESULT  __stdcall META_NVRAM_SWC_Disable_ForceUpgrade_r(const int meta_handle);
  397. // AGC path loss 
  398. META_RESULT  __stdcall META_NVRAM_agcPathLoss_Len(int *len);
  399. META_RESULT  __stdcall META_NVRAM_Compose_agcPathLoss(const l1cal_agcPathLoss_T *loss, char *buf, const int buf_len);
  400. META_RESULT  __stdcall META_NVRAM_Decompose_agcPathLoss(l1cal_agcPathLoss_T *loss, const char *buf, const int buf_len);
  401. // rampTable 
  402. META_RESULT  __stdcall META_NVRAM_rampTable_Len(int *len);
  403. META_RESULT  __stdcall META_NVRAM_Compose_rampTable(const l1cal_rampTable_T *tbl, char *buf, const int buf_len);
  404. META_RESULT  __stdcall META_NVRAM_Decompose_rampTable(l1cal_rampTable_T *tbl, const char *buf, const int buf_len);
  405. META_RESULT  __stdcall META_NVRAM_rampTable_Len_Ex(int *len);
  406. META_RESULT  __stdcall META_NVRAM_Compose_rampTable_Ex(const l1cal_rampTable_T_Ex *tbl, char *buf, const int buf_len);
  407. META_RESULT  __stdcall META_NVRAM_Decompose_rampTable_Ex(l1cal_rampTable_T_Ex *tbl, const char *buf, const int buf_len);
  408. META_RESULT  __stdcall META_NVRAM_rampTable_Len_Ex2(int *len);
  409. META_RESULT  __stdcall META_NVRAM_Compose_rampTable_Ex2(const l1cal_rampTable_T_Ex2 *tbl, char *buf, const int buf_len);
  410. META_RESULT  __stdcall META_NVRAM_Decompose_rampTable_Ex2(l1cal_rampTable_T_Ex2 *tbl, const char *buf, const int buf_len);
  411. // L1Audio Param
  412. META_RESULT  __stdcall META_NVRAM_AudioParam_Len(int *len);
  413. META_RESULT  __stdcall META_NVRAM_Compose_AudioParam(const l1audio_param_T *param, char *buf, const int buf_len);
  414. META_RESULT  __stdcall META_NVRAM_Decompose_AudioParam(l1audio_param_T *param, const char *buf, const int buf_len);
  415. META_RESULT  __stdcall META_NVRAM_If_AudioParam_W0547_Support(void);
  416. META_RESULT  __stdcall META_NVRAM_Compose_AudioParam_W0547(const l1audio_param_W0547_T *param, char *buf, const int buf_len);
  417. META_RESULT  __stdcall META_NVRAM_Decompose_AudioParam_W0547(l1audio_param_W0547_T *param, const char *buf, const int buf_len);
  418. META_RESULT  __stdcall META_NVRAM_Compose_AudioParam_W0547_45(const l1audio_param_W0547_45_T *param, char *buf, const int buf_len);
  419. META_RESULT  __stdcall META_NVRAM_Decompose_AudioParam_W0547_45(l1audio_param_W0547_45_T *param, const char *buf, const int buf_len);
  420. META_RESULT  __stdcall META_NVRAM_Compose_AudioParam_W0712(const l1audio_param_W0712_T *param, char *buf, const int buf_len);
  421. META_RESULT  __stdcall META_NVRAM_Decompose_AudioParam_W0712(l1audio_param_W0712_T *param, const char *buf, const int buf_len);
  422. // interRampData
  423. META_RESULT  __stdcall META_NVRAM_interRampData_Len(int *len);
  424. META_RESULT  __stdcall META_NVRAM_Compose_interRampData(const l1cal_interRampData_T *tbl, char *buf, const int buf_len);
  425. META_RESULT  __stdcall META_NVRAM_Decompose_interRampData(l1cal_interRampData_T *tbl, const char *buf, const int buf_len);
  426. // crystalAfcData
  427. META_RESULT  __stdcall META_NVRAM_crystalAfcData_Len(int *len);
  428. META_RESULT  __stdcall META_NVRAM_Compose_crystalAfcData(const l1cal_crystalAfcData_T *xo_afc, char *buf, const int buf_len);
  429. META_RESULT  __stdcall META_NVRAM_Decompose_crystalAfcData(l1cal_crystalAfcData_T *xo_afc, const char *buf, const int buf_len);
  430. // IMEISV
  431. META_RESULT  __stdcall META_NVRAM_Calculate_IMEI_CD(const char *imei, unsigned short *p_cd);
  432. META_RESULT  __stdcall META_NVRAM_IMEISV_Len(int *len);
  433. META_RESULT  __stdcall META_NVRAM_Compose_IMEISV(const IMEISV_struct_T  *p_imeisv, char *buf, const int buf_len);
  434. META_RESULT  __stdcall META_NVRAM_Compose_IMEISV_NoCheck(const IMEISV_struct_T  *p_imeisv, char *buf, const int buf_len);
  435. META_RESULT  __stdcall META_NVRAM_Compose_IMEISV_ex(const IMEISV_struct_T  *p_imeisv, char *buf, const int buf_len,bool DoCheckSum);
  436. META_RESULT  __stdcall META_NVRAM_Decompose_IMEISV(IMEISV_struct_T  *p_imeisv, const char *buf, const int buf_len);
  437. // Custom Acoustic Volume
  438. META_RESULT  __stdcall META_NVRAM_CustAcousticVol_Len(int *len);
  439. META_RESULT  __stdcall META_NVRAM_Compose_CustAcousticVol(const CustAcousticVol_T *cust_acoustic_vol, char *buf, const int buf_len);
  440. META_RESULT  __stdcall META_NVRAM_Decompose_CustAcousticVol(CustAcousticVol_T *cust_acoustic_vol, const char *buf, const int buf_len);
  441. META_RESULT  __stdcall META_NVRAM_Compose_16lvlCustAcousticVol(const CustAcousticVol16lvl_T *cust_acoustic_vol, char *buf, const int buf_len);
  442. META_RESULT  __stdcall META_NVRAM_Decompose_16lvlCustAcousticVol(CustAcousticVol16lvl_T *cust_acoustic_vol, const char *buf, const int buf_len);
  443. // RF Module Configuration 
  444. META_RESULT  __stdcall META_NVRAM_RFSpecialCoef_Len(int *len);
  445. // Skyworks 
  446. META_RESULT  __stdcall META_NVRAM_Compose_SKY74045_RFSpecialCoef(const RF_SKY74045_Coef_T *rf_mod_coef, char *buf, const int buf_len);
  447. META_RESULT  __stdcall META_NVRAM_Decompose_SKY74045_RFSpecialCoef(RF_SKY74045_Coef_T *rf_mod_coef, const char *buf, const int buf_len);
  448. META_RESULT  __stdcall META_NVRAM_Compose_SKY74117_RFSpecialCoef(const RF_SKY74117_Coef_T *rf_mod_coef, char *buf, const int buf_len);
  449. META_RESULT  __stdcall META_NVRAM_Decompose_SKY74117_RFSpecialCoef(RF_SKY74117_Coef_T *rf_mod_coef, const char *buf, const int buf_len);
  450. // MT6139B 
  451. META_RESULT  __stdcall META_NVRAM_Compose_MT6139B_RFSpecialCoef(const RF_MT6139B_Coef_T *rf_mod_coef, char *buf, const int buf_len);
  452. META_RESULT  __stdcall META_NVRAM_Decompose_MT6139B_RFSpecialCoef(RF_MT6139B_Coef_T *rf_mod_coef, const char *buf, const int buf_len);
  453. // MT6140
  454. //META_RESULT  __stdcall META_NVRAM_Compose_MT6140tx_RFSpecialCoef(const mt6140tx *rf_mod_coef, char *buf, const int buf_len);
  455. //META_RESULT  __stdcall META_NVRAM_Decompose_MT6140tx_RFSpecialCoef(mt6140tx *rf_mod_coef, const char *buf, const int buf_len);
  456. META_RESULT  __stdcall META_NVRAM_Compose_MT6140tx_PaVbias(const mt6140tx *pavbias, char *buf, const int buf_len);
  457. META_RESULT  __stdcall META_NVRAM_Decompose_MT6140tx_PaVbias(mt6140tx *pavbias, const char *buf, const int buf_len);
  458. // Renesas Bright5P 
  459. META_RESULT  __stdcall META_NVRAM_Compose_BRIGHT5P_RFSpecialCoef(const RF_BRIGHT5P_Coef_T *rf_mod_coef, char *buf, const int buf_len);
  460. META_RESULT  __stdcall META_NVRAM_Decompose_BRIGHT5P_RFSpecialCoef(RF_BRIGHT5P_Coef_T *rf_mod_coef, const char *buf, const int buf_len);
  461. // EPSK interRampData 
  462. META_RESULT  __stdcall META_NVRAM_EPSK_interRampData_Len(int *len);
  463. META_RESULT  __stdcall META_NVRAM_Compose_EPSK_interRampData(const l1cal_EPSK_interRampData_T *tbl, char *buf, const int buf_len);
  464. META_RESULT  __stdcall META_NVRAM_Decompose_EPSK_interRampData(l1cal_EPSK_interRampData_T *tbl, const char *buf, const int buf_len);
  465. // WiFi 
  466. META_RESULT  __stdcall META_NVRAM_WiFi_MacAddress_Len(int *len);
  467. META_RESULT  __stdcall META_NVRAM_WiFi_Compose_MacAddress(const WiFi_MacAddress_S  *mac, char *buf, const int buf_len);
  468. META_RESULT  __stdcall META_NVRAM_WiFi_Decompose_MacAddress(WiFi_MacAddress_S  *mac, const char *buf, const int buf_len);
  469. META_RESULT  __stdcall META_NVRAM_WiFi_TxPower2400M_Len(int *len);
  470. META_RESULT  __stdcall META_NVRAM_WiFi_Compose_TxPower2400M(const WiFi_TxPower_2400M_S  *txpwr, char *buf, const int buf_len);
  471. META_RESULT  __stdcall META_NVRAM_WiFi_Decompose_TxPower2400M(WiFi_TxPower_2400M_S  *txpwr, const char *buf, const int buf_len);
  472. META_RESULT  __stdcall META_NVRAM_WiFi_TxPower5000M_Len(int *len);
  473. META_RESULT  __stdcall META_NVRAM_WiFi_Compose_TxPower5000M(const WiFi_TxPower_5000M_S  *txpwr, char *buf, const int buf_len);
  474. META_RESULT  __stdcall META_NVRAM_WiFi_Decompose_TxPower5000M(WiFi_TxPower_5000M_S  *txpwr, const char *buf, const int buf_len);
  475. META_RESULT  __stdcall META_NVRAM_WiFi_DacDcOffset_Len(int *len);
  476. META_RESULT  __stdcall META_NVRAM_WiFi_Compose_DacDcOffset(const WiFi_DAC_DC_Offset_S  *dac, char *buf, const int buf_len);
  477. META_RESULT  __stdcall META_NVRAM_WiFi_Decompose_DacDcOffset(WiFi_DAC_DC_Offset_S  *dac, const char *buf, const int buf_len);
  478. META_RESULT  __stdcall META_NVRAM_WiFi_Compose_ALC_2400M(const WiFi_ALC_2400M_S  *alc, char *buf, const int buf_len);
  479. META_RESULT  __stdcall META_NVRAM_WiFi_Decompose_ALC_2400M(WiFi_ALC_2400M_S  *alc, const char *buf, const int buf_len);
  480. META_RESULT  __stdcall META_NVRAM_WiFi_ALC_2400M_Len(int *len);
  481. META_RESULT  __stdcall META_NVRAM_WiFi_TxALC2400M_Len(int *len);
  482. META_RESULT  __stdcall META_NVRAM_WiFi_Compose_TxALC2400M(const WiFi_TxALC_2400M_S  *txalc, char *buf, const int buf_len);
  483. META_RESULT  __stdcall META_NVRAM_WiFi_Decompose_TxALC2400M(WiFi_TxALC_2400M_S  *txalc, const char *buf, const int buf_len);
  484. //3G
  485. META_RESULT  __stdcall META_NVRAM_3G_Compose_tempdacData(const ul1cal_tempdacData_T  *dac, char *buf, const int buf_len);
  486. META_RESULT  __stdcall META_NVRAM_3G_Decompose_tempdacData(ul1cal_tempdacData_T  *dac, const char *buf, const int buf_len);
  487. META_RESULT  __stdcall META_NVRAM_3G_Compose_pathlossData(const ul1cal_pathlossData_T  *pathloss, char *buf, const int buf_len);
  488. META_RESULT  __stdcall META_NVRAM_3G_Decompose_pathlossData(ul1cal_pathlossData_T  *pathloss, const char *buf, const int buf_len);
  489. META_RESULT  __stdcall META_NVRAM_3G_Compose_txdacData(const ul1cal_txdacData_T  *txdac, char *buf, const int buf_len);
  490. META_RESULT  __stdcall META_NVRAM_3G_Decompose_txdacData(ul1cal_txdacData_T  *txdac, const char *buf, const int buf_len);
  491. //BT
  492. META_RESULT  __stdcall META_NVRAM_BT_Compose_RFMD3500Radio(const nvram_ef_btradio_rfmd3500_struct  *radio, char *buf, const int buf_len);
  493. META_RESULT  __stdcall META_NVRAM_BT_Decompose_RFMD3500Radio(nvram_ef_btradio_rfmd3500_struct  *radio, const char *buf, const int buf_len);
  494. META_RESULT  __stdcall META_NVRAM_BT_Compose_MT6601Radio(const nvram_ef_btradio_mt6601_struct  *radio, char *buf, const int buf_len);
  495. META_RESULT  __stdcall META_NVRAM_BT_Decompose_MT6601Radio(nvram_ef_btradio_mt6601_struct  *radio, const char *buf, const int buf_len);
  496. META_RESULT  __stdcall META_NVRAM_BT_Compose_MT6611Radio(const nvram_ef_btradio_mt6611_struct  *radio, char *buf, const int buf_len);
  497. META_RESULT  __stdcall META_NVRAM_BT_Decompose_MT6611Radio(nvram_ef_btradio_mt6611_struct  *radio, const char *buf, const int buf_len);
  498. // sBBTxParameters
  499. META_RESULT  __stdcall META_NVRAM_BBTXParameters_Len(int *len);
  500. META_RESULT  __stdcall META_NVRAM_Compose_BBTXParameters(const BBTXParameters_T *bbtx, char *buf, const int buf_len);
  501. META_RESULT  __stdcall META_NVRAM_Decompose_BBTXParameters(BBTXParameters_T *bbtx, const char *buf, const int buf_len);
  502. //l1audio_param_W0740_T
  503. META_RESULT  __stdcall META_NVRAM_Compose_AudioParam_W0740(const l1audio_param_W0740_T *param, char *buf, const int buf_len);
  504. META_RESULT  __stdcall META_NVRAM_Decompose_AudioParam_W0740(l1audio_param_W0740_T *param, const char *buf, const int buf_len);
  505. // l1audio_param_W0809_T
  506. META_RESULT  __stdcall META_NVRAM_Compose_AudioParam_W0809(const l1audio_param_W0809_T *param, char *buf, const int buf_len);
  507. META_RESULT  __stdcall META_NVRAM_Decompose_AudioParam_W0809(l1audio_param_W0809_T *param, const char *buf, const int buf_len);
  508. // ad6546tx
  509. META_RESULT  __stdcall META_NVRAM_Compose_ad6546tx(const ad6546tx *adtx, char *buf, const int buf_len);
  510. META_RESULT  __stdcall META_NVRAM_Decompose_ad6546tx(ad6546tx *adtx, const char *buf, const int buf_len);
  511. //--------------------------------------------------------------------------//
  512. //  Audio Testing                                                           //
  513. //--------------------------------------------------------------------------//
  514. //-----------------------------------------------------//
  515. //  Audio Testing: data structure definition           //
  516. //-----------------------------------------------------//
  517. // audio testing result
  518. typedef enum  {
  519. AUD_RES_OK = 0, // OK 
  520. AUD_RES_FAIL, // General Fail 
  521. AUD_RES_BUSY, // system busy 
  522. AUD_RES_DISC_FULL, // Memory full 
  523. AUD_RES_OPEN_FILE_FAIL, // open file fail 
  524. AUD_RES_END_OF_FILE, // play finish 
  525. AUD_ERR_OP_NOT_SUPPORT = 0xFB,       // added by ShuMin, for error handler enhancements// filepath too long
  526. AUD_ERR_STILL_PLAYING = 0xFC,       // added by ShuMin, because I found target had this error value
  527. AUD_ERR_PEER_BUF_ERROR = 0xFD, // peer buf error 
  528. AUD_ERR_FILEPATH_ERROR = 0xFE, // filepath error 
  529. AUD_ERR_FILEPATH_TOO_LONG = 0xFF // filepath too long 
  530. }AUDIO_RESULT;
  531. // play style enum 
  532. typedef enum {
  533. FT_L4AUD_AUDIO_PLAY_CRESCENDO = 0, // Play sound for crescendo. 
  534. FT_L4AUD_AUDIO_PLAY_INFINITE, // Play sound for infinite. 
  535. FT_L4AUD_AUDIO_PLAY_ONCE, // Play sound for once. 
  536. FT_L4AUD_AUDIO_PLAY_DESCENDO // Play sound for descendo. 
  537. }AUDIO_PLAY_STYLE;
  538. // default system embeded audio id query 
  539. typedef struct {
  540. unsigned short MinRingTone_ID;
  541. unsigned short MaxRingTone_ID;
  542. unsigned short MinMIDI_ID;
  543. unsigned short MaxMIDI_ID;
  544. unsigned short MinSound_ID;
  545. unsigned short MaxSound_ID;
  546. AUDIO_RESULT status;
  547. }Audio_Query_ID_Cnf;
  548. // play default system embeded audio by the given audio id 
  549. typedef struct {
  550. unsigned short audio_id; // default system embeded audio id 
  551. AUDIO_PLAY_STYLE play_style; // play style 
  552. }Audio_Play_Req;
  553. // play audio from FAT by the given filepath 
  554. typedef struct {
  555. const char *fat_filepath; // filepath on target FAT file system 
  556. AUDIO_PLAY_STYLE play_style; // play style 
  557. }Audio_Play_ByName_Req;
  558. // play imelody by the buffer from PC side 
  559. typedef struct {
  560. const char *imy_buf; // buffer that stores iMelody content 
  561. unsigned int imy_buf_len; // length of buffer 
  562. unsigned char imy_instrument; // instrument id, 1 ~ 128 
  563. AUDIO_PLAY_STYLE play_style; // play style 
  564. }Audio_Play_IMY_ByBuf_Req;
  565. // play mp3 from FAT by the given filepath 
  566. typedef struct {
  567. const char *fat_filepath; // filepath on target FAT file system 
  568. AUDIO_PLAY_STYLE play_style; // play style 
  569. }Audio_MEDIA_Play_Req;
  570. // set volume 
  571. typedef struct {
  572. unsigned char volume; // play volume, 0 ~ 255 
  573. }Audio_Set_Volume_Req;
  574. typedef struct {
  575. unsigned char echoflag; // echofalg true
  576. }Audio_Set_Echo_Req;
  577. typedef struct {
  578. unsigned char modeflag; // modeflag
  579. }Audio_Set_Mode_Req;
  580. typedef struct {
  581. unsigned char type;
  582. unsigned char gain;
  583. }Audio_Set_Gain_Req;
  584. typedef struct {
  585. short in_fir_coeffs[45];
  586. short out_fir_coeffs[45];
  587. }Audio_Set_LoudSpk_FIR_Coeffs_Req;
  588. typedef struct {
  589. unsigned short speech_common_para[12];  // 8 or 12, so at most 12
  590. }Audio_Set_Speech_Common_Req;
  591. typedef struct {
  592. unsigned short speech_loudspk_mode_para[16];  // change from 8 to 16, because at most: 16
  593. }Audio_Set_LoudSpk_Mode_Req;
  594. typedef struct {
  595. unsigned short Media_Playback_Maximum_Swing;
  596. }Audio_Set_Playback_Maximum_Swing_Req;
  597. typedef struct {
  598. short Melody_FIR_Output_Coeff_32k_Tbl1[25];
  599. }Audio_Set_Melody_FIR_Output_Coeffs_Req;
  600. typedef struct {
  601. unsigned short speech_common_para[12];
  602. unsigned short speech_loudspk_mode_para[16];  // change from 8 to 16, because at most: 16
  603. }Audio_Set_Speech_Common_And_Mode_Req;
  604. typedef struct {
  605. unsigned short fre;
  606. unsigned char spkgain;
  607. unsigned char micgain;
  608. unsigned short      ulgain; 
  609. unsigned short      dlgain;
  610. unsigned short      amp;
  611.     
  612. }Audio_Tone_LoopBackRec_Req;
  613. typedef struct {
  614. unsigned int buffer[2000];
  615. }Audio_Tone_LoopBackRec_Cnf;
  616. typedef struct {
  617. unsigned int buffer[500];
  618. }Audio_Tone_LoopBackRec_Cnf_2K;
  619. typedef struct
  620. {
  621. unsigned char  m_ucVolume;
  622. unsigned short m_u2Freq;
  623. }Audio_Set_Freq_Vol_Tone_Req_T;
  624. typedef struct
  625. {
  626. unsigned char  m_ucMode;
  627. }Audio_Get_Profile_Settings_By_Mode_Req_T;
  628. typedef struct
  629. {
  630. unsigned char mode;
  631.     unsigned char melody[7];         
  632.     unsigned char sound[7];          
  633.     unsigned char keytone[7];         
  634.     unsigned char speech[7];         
  635.     unsigned char mic[7];           
  636.     unsigned char sidetone;         
  637.     unsigned char max_melody_volume_gain;
  638.     unsigned char melody_volume_gain_step;
  639.     unsigned char tv_out_volume_gain[MAX_VOL_LEVEL];  // 7 here
  640. }Audio_Get_Profile_Settings_By_Mode_Cnf_T;
  641. typedef struct
  642. {
  643. unsigned char mode;
  644.     unsigned char melody[7];         
  645.     unsigned char sound[7];          
  646.     unsigned char keytone[7];         
  647.     unsigned char speech[7];         
  648.     unsigned char mic[7];           
  649.     unsigned char sidetone;         
  650.     unsigned char max_melody_volume_gain;
  651.     unsigned char melody_volume_gain_step;
  652.     unsigned char tv_out_volume_gain[MAX_VOL_LEVEL];  // 7 here
  653. }Audio_Set_Profile_Settings_By_Mode_Req_T;
  654. typedef struct
  655. {
  656.     
  657.     unsigned short m_u2FailReason;  // possible fail resons
  658. }Audio_Set_Profile_Settings_By_Mode_Cnf_T;
  659. typedef struct
  660. {
  661.     
  662.     unsigned short m_u2FailReason;  // possible fail resons, (2 means the format is not matched with Target side)
  663. }Audio_Set_Param_Cnf_T;
  664. //-----------------------------------------------------//
  665. //  Audio Testing: callback function definition        //
  666. //-----------------------------------------------------//
  667. typedef void (__stdcall *META_AUDIO_QUERY_ID_CNF)(const Audio_Query_ID_Cnf *cnf, const short token, void *usrData);
  668. typedef void (__stdcall *META_AUDIO_PLAY_CNF)(const AUDIO_RESULT status, const short token, void *usrData);
  669. typedef void (__stdcall *META_AUDIO_PLAY_BYNAME_CNF)(const AUDIO_RESULT status, const short token, void *usrData);
  670. typedef void (__stdcall *META_AUDIO_PLAY_IMY_BYBUF_CNF)(const AUDIO_RESULT status, const short token, void *usrData);
  671. typedef void (__stdcall *META_AUDIO_PLAY_OVER_IND)(const AUDIO_RESULT status, const short token, void *usrData);
  672. typedef void (__stdcall *META_AUDIO_STOP_CNF)(const AUDIO_RESULT status, const short token, void *usrData);
  673. typedef void (__stdcall *META_AUDIO_MEDIA_PLAY_CNF)(const AUDIO_RESULT status, const short token, void *usrData);
  674. typedef void (__stdcall *META_AUDIO_MEDIA_PLAY_OVER_IND)(const AUDIO_RESULT status, const short token, void *usrData);
  675. typedef void (__stdcall *META_AUDIO_MEDIA_STOP_CNF)(const AUDIO_RESULT status, const short token, void *usrData);
  676. typedef void (__stdcall *META_AUDIO_SET_VOLUME_CNF)(const AUDIO_RESULT status, const short token, void *usrData);
  677. //-----------------------------------------------------//
  678. //  Audio Testing: exported function definition        //
  679. //-----------------------------------------------------//
  680. META_RESULT  __stdcall META_Audio_Query_ID(const META_AUDIO_QUERY_ID_CNF  cnf_cb, short *token, void *usrData);
  681. META_RESULT  __stdcall META_Audio_Query_ID_r(const int meta_handle, const META_AUDIO_QUERY_ID_CNF  cnf_cb, short *token, void *usrData);
  682. META_RESULT  __stdcall META_Audio_Play(const Audio_Play_Req  *req, const META_AUDIO_PLAY_CNF cnf_cb, const META_AUDIO_PLAY_OVER_IND  ind_cb, short *token, void *usrData);
  683. META_RESULT  __stdcall META_Audio_Play_r(const int meta_handle, const Audio_Play_Req  *req, const META_AUDIO_PLAY_CNF cnf_cb, const META_AUDIO_PLAY_OVER_IND  ind_cb, short *token, void *usrData);
  684. META_RESULT  __stdcall META_Audio_Play_ByName(const Audio_Play_ByName_Req  *req, const META_AUDIO_PLAY_BYNAME_CNF  cnf_cb, const META_AUDIO_PLAY_OVER_IND  ind_cb, short *token, void *usrData);
  685. META_RESULT  __stdcall META_Audio_Play_ByName_r(const int meta_handle, const Audio_Play_ByName_Req  *req, const META_AUDIO_PLAY_BYNAME_CNF  cnf_cb, const META_AUDIO_PLAY_OVER_IND  ind_cb, short *token, void *usrData);
  686. META_RESULT  __stdcall META_Audio_Play_IMY_ByBuf(const Audio_Play_IMY_ByBuf_Req  *req, const META_AUDIO_PLAY_IMY_BYBUF_CNF  cnf_cb, const META_AUDIO_PLAY_OVER_IND  ind_cb, short *token, void *usrData);
  687. META_RESULT  __stdcall META_Audio_Play_IMY_ByBuf_r(const int meta_handle, const Audio_Play_IMY_ByBuf_Req  *req, const META_AUDIO_PLAY_IMY_BYBUF_CNF  cnf_cb, const META_AUDIO_PLAY_OVER_IND  ind_cb, short *token, void *usrData);
  688. META_RESULT  __stdcall META_Audio_Stop(const META_AUDIO_STOP_CNF  cnf_cb, short *token, void *usrData);
  689. META_RESULT  __stdcall META_Audio_Stop_r(const int meta_handle, const META_AUDIO_STOP_CNF  cnf_cb, short *token, void *usrData);
  690. //META_RESULT  __stdcall META_Audio_MEDIA_Play(const Audio_MEDIA_Play_Req  *req, const META_AUDIO_MEDIA_PLAY_CNF  cnf_cb, const META_AUDIO_MEDIA_PLAY_OVER_IND  ind_cb, short *token, void *usrData);
  691. //META_RESULT  __stdcall META_Audio_MEDIA_Play_r(const int meta_handle, const Audio_MEDIA_Play_Req  *req, const META_AUDIO_MEDIA_PLAY_CNF  cnf_cb, const META_AUDIO_MEDIA_PLAY_OVER_IND  ind_cb, short *token, void *usrData);
  692. //META_RESULT  __stdcall META_Audio_MEDIA_Stop(const META_AUDIO_MEDIA_STOP_CNF  cnf_cb, short *token, void *usrData);
  693. //META_RESULT  __stdcall META_Audio_MEDIA_Stop_r(const int meta_handle, const META_AUDIO_MEDIA_STOP_CNF  cnf_cb, short *token, void *usrData);
  694. META_RESULT  __stdcall META_Audio_Set_Volume(const Audio_Set_Volume_Req  *req, const META_AUDIO_SET_VOLUME_CNF  cnf_cb, short *token, void *usrData);
  695. META_RESULT  __stdcall META_Audio_Set_Volume_r(const int meta_handle, const Audio_Set_Volume_Req  *req, const META_AUDIO_SET_VOLUME_CNF  cnf_cb, short *token, void *usrData);
  696. META_RESULT  __stdcall META_Audio_Set_Echo_Loop(unsigned int  ms_timeout,const Audio_Set_Echo_Req  *req);
  697. META_RESULT  __stdcall META_Audio_Set_Echo_Loop_r(const int meta_handle,unsigned int  ms_timeout ,const Audio_Set_Echo_Req  *req);
  698. META_RESULT  __stdcall META_Audio_Set_Mode(unsigned int  ms_timeout,const Audio_Set_Mode_Req  *req);
  699. META_RESULT  __stdcall META_Audio_Set_Mode_r(const int meta_handle,unsigned int  ms_timeout ,const Audio_Set_Mode_Req  *req);
  700. META_RESULT  __stdcall META_Audio_Set_Gain(unsigned int  ms_timeout,const Audio_Set_Gain_Req  *req);
  701. META_RESULT  __stdcall META_Audio_Set_Gain_r(const int meta_handle,unsigned int  ms_timeout ,const Audio_Set_Gain_Req  *req);
  702. META_RESULT  __stdcall META_Audio_Tone_Loop_Back_Rec(unsigned int  ms_timeout, Audio_Tone_LoopBackRec_Req  *req, Audio_Tone_LoopBackRec_Cnf *cnf);
  703. META_RESULT  __stdcall META_Audio_Tone_Loop_Back_Rec_r(const int meta_handle,unsigned int  ms_timeout , Audio_Tone_LoopBackRec_Req  *req, Audio_Tone_LoopBackRec_Cnf *cnf);
  704. //  for loud-speaker mode
  705. META_RESULT  __stdcall META_Audio_Tone_Loop_Back_Rec_2K(unsigned int  ms_timeout, Audio_Tone_LoopBackRec_Req  *req, Audio_Tone_LoopBackRec_Cnf_2K *cnf);
  706. META_RESULT  __stdcall META_Audio_Tone_Loop_Back_Rec_2K_r(const int meta_handle,unsigned int  ms_timeout , Audio_Tone_LoopBackRec_Req  *req, Audio_Tone_LoopBackRec_Cnf_2K *cnf);
  707. // for normal mode
  708. META_RESULT  __stdcall META_Audio_Tone_Loop_Back_Rec_2K_Normal(unsigned int  ms_timeout, Audio_Tone_LoopBackRec_Req  *req, Audio_Tone_LoopBackRec_Cnf_2K *cnf);
  709. META_RESULT  __stdcall META_Audio_Tone_Loop_Back_Rec_2K_Normal_r(const int meta_handle,unsigned int  ms_timeout , Audio_Tone_LoopBackRec_Req  *req, Audio_Tone_LoopBackRec_Cnf_2K *cnf);
  710. META_RESULT  __stdcall META_Audio_Set_LoudSpk_FIR_Coeffs(unsigned int  ms_timeout,const Audio_Set_LoudSpk_FIR_Coeffs_Req  *req);
  711. META_RESULT  __stdcall META_Audio_Set_LoudSpk_FIR_Coeffs_r(const int meta_handle, unsigned int  ms_timeout,const Audio_Set_LoudSpk_FIR_Coeffs_Req  *req); 
  712. META_RESULT  __stdcall META_Audio_Set_Speech_Common(unsigned int  ms_timeout,const Audio_Set_Speech_Common_Req  *req);
  713. META_RESULT  __stdcall META_Audio_Set_Speech_Common_r(const int meta_handle, unsigned int  ms_timeout,const Audio_Set_Speech_Common_Req  *req);
  714. META_RESULT  __stdcall META_Audio_Set_LoudSpk_Mode(unsigned int  ms_timeout,const Audio_Set_LoudSpk_Mode_Req  *req);
  715. META_RESULT  __stdcall META_Audio_Set_LoudSpk_Mode_r(const int meta_handle, unsigned int  ms_timeout,const Audio_Set_LoudSpk_Mode_Req  *req);
  716. META_RESULT  __stdcall META_Audio_Set_Playback_Maximum_Swing(unsigned int  ms_timeout,const Audio_Set_Playback_Maximum_Swing_Req  *req);
  717. META_RESULT  __stdcall META_Audio_Set_Playback_Maximum_Swing_r(const int meta_handle, unsigned int  ms_timeout,const Audio_Set_Playback_Maximum_Swing_Req  *req);
  718. META_RESULT  __stdcall META_Audio_Set_Melody_FIR_Output_Coeffs(unsigned int  ms_timeout,const Audio_Set_Melody_FIR_Output_Coeffs_Req  *req);
  719. META_RESULT  __stdcall META_Audio_Set_Melody_FIR_Output_Coeffs_r(const int meta_handle, unsigned int  ms_timeout,const Audio_Set_Melody_FIR_Output_Coeffs_Req  *req);
  720. META_RESULT  __stdcall META_Audio_Set_Speech_Common_And_Mode(unsigned int  ms_timeout,const Audio_Set_Speech_Common_And_Mode_Req  *req);
  721. META_RESULT  __stdcall META_Audio_Set_Speech_Common_And_Mode_r(const int meta_handle, unsigned int  ms_timeout,const Audio_Set_Speech_Common_And_Mode_Req  *req);
  722. META_RESULT  __stdcall META_Audio_Play_Freq_Vol_Tone(unsigned int  ms_timeout,const Audio_Set_Freq_Vol_Tone_Req_T  *req);
  723. META_RESULT  __stdcall META_Audio_Play_Freq_Vol_Tone_r(const int meta_handle, unsigned int  ms_timeout,const Audio_Set_Freq_Vol_Tone_Req_T  *req);
  724. META_RESULT  __stdcall META_Audio_Stop_Freq_Vol_Tone(unsigned int  ms_timeout);
  725. META_RESULT  __stdcall META_Audio_Stop_Freq_Vol_Tone_r(const int meta_handle, unsigned int  ms_timeout);
  726. META_RESULT  __stdcall META_Audio_Get_Audio_Profile_Settings(unsigned int ms_timeout,
  727.                              Audio_Get_Profile_Settings_By_Mode_Req_T *req, 
  728.                          Audio_Get_Profile_Settings_By_Mode_Cnf_T *cnf);
  729. META_RESULT  __stdcall META_Audio_Get_Audio_Profile_Settings_r(const int meta_handle, 
  730.    unsigned int  ms_timeout, 
  731.    Audio_Get_Profile_Settings_By_Mode_Req_T *req, 
  732.                            Audio_Get_Profile_Settings_By_Mode_Cnf_T *cnf);
  733. META_RESULT  __stdcall META_Audio_Set_Audio_Profile_Settings(unsigned int ms_timeout,
  734.                              Audio_Set_Profile_Settings_By_Mode_Req_T *req, 
  735.                          Audio_Set_Profile_Settings_By_Mode_Cnf_T *cnf);
  736. META_RESULT  __stdcall META_Audio_Set_Audio_Profile_Settings_r(const int meta_handle, 
  737.    unsigned int  ms_timeout, 
  738.    Audio_Set_Profile_Settings_By_Mode_Req_T *req, 
  739.                            Audio_Set_Profile_Settings_By_Mode_Cnf_T *cnf);
  740. META_RESULT  __stdcall META_Audio_Get_Audio_Param_Settings_0809(unsigned int ms_timeout,
  741.                          l1audio_param_W0809_T *cnf);
  742. META_RESULT  __stdcall META_Audio_Get_Audio_Param_Settings_0809_r(const int meta_handle, 
  743.    unsigned int  ms_timeout,  
  744.                            l1audio_param_W0809_T *cnf) ;
  745. META_RESULT  __stdcall META_Audio_Set_Audio_Param_Settings_0809(unsigned int ms_timeout,
  746.                          l1audio_param_W0809_T *req,
  747.  Audio_Set_Param_Cnf_T *cnf);
  748. META_RESULT  __stdcall META_Audio_Set_Audio_Param_Settings_0809_r(const int meta_handle, 
  749.    unsigned int  ms_timeout,  
  750.                            l1audio_param_W0809_T *req,
  751.    Audio_Set_Param_Cnf_T *cnf);
  752. //--------------------------------------------------------------------------//
  753. //  BaseBand Testing                                                        //
  754. //--------------------------------------------------------------------------//
  755. //-----------------------------------------------------//
  756. //  BaseBand Testing: data structure definition        //
  757. //-----------------------------------------------------//
  758. typedef struct
  759. {
  760. unsigned int addr; // The address of register that is to be read.
  761. } RegRead_Req;
  762. typedef struct
  763. {
  764. unsigned short value; // The read back value
  765. unsigned char status; // 0: success, others: read register fail.
  766. } RegRead_Cnf;
  767. typedef struct
  768. {
  769. unsigned int addr; // The address of register that is to be written.
  770. unsigned short value; // The value that is to be written.
  771. } RegWrite_Req;
  772. typedef struct
  773. {
  774. unsigned char status; // 0: success, others: write register fail.
  775. } RegWrite_Cnf;
  776. typedef struct
  777. {
  778. unsigned char channel; // ADC channel number.
  779. unsigned short Meacount; // Number of measure times.
  780. } ADCMeaData_Req;
  781. typedef struct
  782. {
  783. unsigned int value; // ADC value, it a sum value of each measurement data.
  784. unsigned char status; // 0: success, others: get ADC measurement fail.
  785. } ADCMeaData_Cnf;
  786. //-----------------------------------------------------//
  787. //  BaseBand Testing: callback function definition     //
  788. //-----------------------------------------------------//
  789. typedef void (__stdcall *META_BB_READREG_CNF)(const RegRead_Cnf *result, const short token, void *usrData);
  790. typedef void (__stdcall *META_BB_WRITEREG_CNF)(const RegWrite_Cnf *result, const short token, void *usrData);
  791. typedef void (__stdcall *META_BB_ADCGETMEADATA_CNF)(const ADCMeaData_Cnf *result, const short token, void *usrData);
  792. //-----------------------------------------------------//
  793. //  BaseBand Testing: exported function definition     //
  794. //-----------------------------------------------------//
  795. META_RESULT  __stdcall META_BB_RegRead(const RegRead_Req *req, const META_BB_READREG_CNF cb, short *token, void *usrData);
  796. META_RESULT  __stdcall META_BB_RegRead_r(const int meta_handle, const RegRead_Req *req, const META_BB_READREG_CNF cb, short *token, void *usrData);
  797. META_RESULT  __stdcall META_BB_RegWrite(const RegWrite_Req *req, const META_BB_WRITEREG_CNF cb, short *token, void *usrData);
  798. META_RESULT  __stdcall META_BB_RegWrite_r(const int meta_handle, const RegWrite_Req *req, const META_BB_WRITEREG_CNF cb, short *token, void *usrData);
  799. META_RESULT  __stdcall META_PMIC_RegRead(unsigned int ms_timeout, const RegRead_Req *req, RegRead_Cnf *cnf);
  800. META_RESULT  __stdcall META_PMIC_RegRead_r(const int meta_handle, unsigned int ms_timeout, const RegRead_Req *req, RegRead_Cnf *cnf);
  801. META_RESULT  __stdcall META_PMIC_RegWrite(unsigned int ms_timeout, const RegWrite_Req *req, RegWrite_Cnf *cnf);
  802. META_RESULT  __stdcall META_PMIC_RegWrite_r(const int meta_handle, unsigned int ms_timeout, const RegWrite_Req *req, RegWrite_Cnf *cnf);
  803. META_RESULT  __stdcall META_BB_ADCGetMeaSumData(const ADCMeaData_Req *req, const META_BB_ADCGETMEADATA_CNF cb, short *token, void *usrData);
  804. META_RESULT  __stdcall META_BB_ADCGetMeaSumData_r(const int meta_handle, const ADCMeaData_Req *req, const META_BB_ADCGETMEADATA_CNF cb, short *token, void *usrData);
  805. //--------------------------------------------------------------------------//
  806. //  FAT Access                                                              //
  807. //--------------------------------------------------------------------------//
  808. //-----------------------------------------------------//
  809. //  FAT Access: data structure definition              //
  810. //-----------------------------------------------------//
  811. typedef enum {
  812. FAT_OPEN_READ = 0,
  813. FAT_OPEN_WRITE
  814. }FAT_OPEN_MODE;
  815. typedef enum {
  816. FAT_FIND_FILE = 0,
  817. FAT_FIND_FILE_RECURSIVE,
  818. FAT_FIND_DIR_RECURSIVE
  819. }FAT_FIND_MODE;
  820. typedef enum {
  821. FAT12 = 0,
  822. FAT16,
  823. FAT32
  824. }FAT_TYPE;
  825. typedef struct {
  826. FAT_TYPE Type;
  827. unsigned int  SectorsPerCluster;
  828. unsigned int TotalSize;
  829. unsigned int FreeSpace;
  830. }FAT_DiskInfo_T;
  831. typedef struct 
  832. {
  833. char m_cDriveLetter;   // Target FAT disk drive letter such as: 'C'
  834. char *m_pcfilepath;    // File path of the file we intend to write into target FAT
  835. }FAT_FILE_INFO_REQ_T;
  836. //-----------------------------------------------------//
  837. //  FAT Access: callback function definition           //
  838. //-----------------------------------------------------//
  839. typedef int (__stdcall *CALLBACK_META_FAT_PROGRESS)(unsigned char percent, int sent_bytes, int total_bytes, const short token, void *usr_arg);
  840. //-----------------------------------------------------//
  841. //  FAT Access: exported function definition           //
  842. //-----------------------------------------------------//
  843. META_RESULT  __stdcall META_FAT_Open(const char *fat_filepath, FAT_OPEN_MODE  mode, int *fs_handle, short *p_token);
  844. META_RESULT  __stdcall META_FAT_Open_r(const int meta_handle, const char *fat_filepath, FAT_OPEN_MODE  mode, int *fs_handle, short *p_token);
  845. META_RESULT  __stdcall META_FAT_Close(int *fs_handle, short *p_token);
  846. META_RESULT  __stdcall META_FAT_Close_r(const int meta_handle, int *fs_handle, short *p_token);
  847. META_RESULT  __stdcall META_FAT_GetFileSize(const int fs_handle, int *filesize, short *p_token);
  848. META_RESULT  __stdcall META_FAT_GetFileSize_r(const int meta_handle, const int fs_handle, int *filesize, short *p_token);
  849. META_RESULT  __stdcall META_FAT_Read(const int fs_handle, char *buf, const int buf_len, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg, short *p_token);
  850. META_RESULT  __stdcall META_FAT_Read_r(const int meta_handle, const int fs_handle, char *buf, const int buf_len, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg, short *p_token);
  851. META_RESULT  __stdcall META_FAT_Write(const int fs_handle, const char *buf, const int buf_len, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg, short *p_token);
  852. META_RESULT  __stdcall META_FAT_Write_r(const int meta_handle, const int fs_handle, const char *buf, const int buf_len, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg, short *p_token);
  853. META_RESULT  __stdcall META_FAT_Read_To_File(const int fs_handle, const char *local_filepath, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg, short *p_token);
  854. META_RESULT  __stdcall META_FAT_Read_To_File_r(const int meta_handle, const int fs_handle, const char *local_filepath, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg, short *p_token);
  855. META_RESULT  __stdcall META_FAT_Write_By_File(const int fs_handle, const char *local_filepath, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg, short *p_token);
  856. META_RESULT  __stdcall META_FAT_Write_By_File_r(const int meta_handle, const int fs_handle, const char *local_filepath, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg, short *p_token);
  857. META_RESULT  __stdcall META_FAT_Delete(const char *fat_filepath, short *p_token);
  858. META_RESULT  __stdcall META_FAT_Delete_r(const int meta_handle, const char *fat_filepath, short *p_token);
  859. META_RESULT  __stdcall META_FAT_Move(const char *fat_filepath, const char *new_fat_filepath, short *p_token);
  860. META_RESULT  __stdcall META_FAT_Move_r(const int meta_handle, const char *fat_filepath, const char *new_fat_filepath, short *p_token);
  861. META_RESULT  __stdcall META_FAT_Find_Start(const char *fat_base_dir, const char *fat_find_pattern, FAT_FIND_MODE  find_mode, int *p_find_handle, short *p_token);
  862. META_RESULT  __stdcall META_FAT_Find_Start_r(const int meta_handle, const char *fat_base_dir, const char *fat_find_pattern, FAT_FIND_MODE  find_mode, int *p_find_handle, short *p_token);
  863. META_RESULT  __stdcall META_FAT_Find_Head(int find_handle);
  864. META_RESULT  __stdcall META_FAT_Find_Prev(int find_handle);
  865. META_RESULT  __stdcall META_FAT_Find_Next(int find_handle);
  866. META_RESULT  __stdcall META_FAT_Find_GetFileInfo(int find_handle, char *p_filepath, const int filepath_len, int *p_filesize);
  867. META_RESULT  __stdcall META_FAT_Find_Close(int *p_find_handle);
  868. META_RESULT  __stdcall META_FAT_GetDiskInfo(const char DriveLetter, FAT_DiskInfo_T  *p_DiskInfo, short *p_token);
  869. META_RESULT  __stdcall META_FAT_GetDiskInfo_r(const int meta_handle, const char DriveLetter, FAT_DiskInfo_T  *p_DiskInfo, short *p_token);
  870. META_RESULT  __stdcall META_FAT_RemoveDir(const char *fat_dirpath);
  871. META_RESULT  __stdcall META_FAT_RemoveDir_r(const int meta_handle, const char *fat_dirpath);
  872. META_RESULT __stdcall META_FAT_CheckEnoughSpace(FAT_FILE_INFO_REQ_T *req);
  873. META_RESULT __stdcall META_FAT_CheckEnoughSpace_r(const int meta_handle, FAT_FILE_INFO_REQ_T *req);
  874. //--------------------------------------------------------------------------//
  875. //  WiFi Calibration                                                        //
  876. //--------------------------------------------------------------------------//
  877. //-----------------------------------------------------//
  878. //  WiFi Calibration: data structure definition        //
  879. //-----------------------------------------------------//
  880. // WiFi Baseband Chip ID 
  881. #define WIFI_BB_MT5911 0x00000001
  882. // WiFi RF Chip ID 
  883. #define WIFI_RF_AL2236 0x00000001
  884. #define WIFI_RF_MAX2827 0x00000002
  885. typedef enum {
  886. WIFI_TEST_RATE_1M = 0,     /* 1M          */
  887. WIFI_TEST_RATE_2M,         /* 2M          */
  888. WIFI_TEST_RATE_5_5M,       /* 5.5M        */
  889. WIFI_TEST_RATE_11M,        /* 11M         */
  890. WIFI_TEST_RATE_6M,         /* 6M          */
  891. WIFI_TEST_RATE_9M,         /* 9M          */
  892. WIFI_TEST_RATE_12M,        /* 12M         */
  893. WIFI_TEST_RATE_18M,        /* 18M         */
  894. WIFI_TEST_RATE_24M,        /* 24M         */
  895. WIFI_TEST_RATE_36M,        /* 36M         */
  896. WIFI_TEST_RATE_48M,        /* 48M         */
  897. WIFI_TEST_RATE_54M,        /* 54M         */
  898. WIFI_TEST_RATE_COUNT       /* Total count */
  899. } WiFi_TestRate_E;
  900. typedef enum {
  901.  WNDRV_HOST_INTERFACE_SDIO = 0
  902. ,WNDRV_HOST_INTERFACE_HPI
  903. ,WNDRV_HOST_INTERFACE_SPI
  904. ,WNDRV_HOST_INTERFACE_CF_MEM
  905. ,WNDRV_HOST_INTERFACE_CF_IO  
  906. } WiFi_HostInterface_E;
  907. typedef enum {
  908. WIFI_TX_ALL_ZEROS,
  909. WIFI_TX_ALL_ONES,
  910. WIFI_TX_ALTERNATE_BITS,
  911. WIFI_TX_PSEUDO_RANDOM
  912. } WiFi_TestPktTxPattern_E;
  913. typedef enum {
  914. WIFI_POWER_MODE_NORMAL,
  915. WIFI_POWER_MODE_IDLE,
  916. WIFI_POWER_MODE_SLEEP
  917. } WiFi_PowerManagementMode_E;
  918. typedef enum {    
  919. WIFI_RF_RX_TEST_MODE = 1  /* For RF Test use */
  920. } WiFi_TestPktRxMode_E;
  921. typedef enum {
  922. WIFI_RX_ANT_DIVERSITY_AGC,  /* AGC based selection */
  923. WIFI_RX_ANT_DIVERSITY_MPDU, /* MPDU based selection */
  924. WIFI_RX_ANT_FIXED_0,        /* Always 0 */ 
  925. WIFI_RX_ANT_FIXED_1         /* Always 1 */
  926. } WiFi_RxAntSel_E;
  927. typedef struct {
  928. unsigned int bb_chip_id;
  929. char bb_chip_ver[32];
  930. unsigned int rf_chip_id;
  931. char rf_chip_ver[32];
  932. unsigned char support_802_11b;
  933. unsigned char support_802_11a;
  934. unsigned char support_802_11g;
  935. bool eeprom_exist;
  936. unsigned int eeprom_size;
  937. WiFi_HostInterface_E host_interface;
  938. } WiFi_ChipCapability_S;
  939. typedef struct {
  940. unsigned int ch_freq; /* Frq, units are kHz */
  941. WiFi_TestRate_E tx_rate;
  942. int dbm;
  943. } WiFi_DBM2DAC_Set_S;
  944. typedef struct {
  945. unsigned short tx_gain_dac;
  946. } WiFi_DBM2DAC_Query_S;
  947. typedef struct {
  948. unsigned int ch_freq;/* Frq, units are kHz */
  949. WiFi_TestRate_E tx_rate;
  950. unsigned char txAnt; /* 0 for Antenna 0; 1 for Antenna 1 */
  951. unsigned short tx_gain_dac;
  952. } WiFi_TestTx_S;
  953. typedef struct {
  954. unsigned int ch_freq; /* Frq, units are kHz */
  955. WiFi_TestRate_E tx_rate;
  956. unsigned short tx_gain_dac;
  957. unsigned int pktCount;
  958. unsigned int pktInterval; /* interval between each Tx Packet */
  959. unsigned int pktLength; /* 24~1500 */
  960. WiFi_TestPktTxPattern_E pattern; /* content of the Tx Packet */
  961. unsigned char txAnt; /* 0 for Antenna 0; 1 for Antenna 1 */
  962. unsigned char is_short_preamble; /* 0 for long preamble and 1 for short preamble */
  963. unsigned char mac_header[ 24 ]; /* Frame Ctrl, Duration = 2bytes + 2bytes */
  964. /* Address 1 = 6 bytes */ 
  965. /* Address 2 = 6 bytes */ 
  966. /* Address 3 = 6 bytes */ 
  967. /* Sequence Ctrl = 2 bytes */
  968. } WiFi_TestPktTx_S;
  969. typedef struct {
  970. unsigned int ch_freq; /* Frq, units are kHz */
  971. WiFi_TestRate_E tx_rate;
  972. unsigned short tx_gain_dac;
  973. unsigned int pktCount;
  974. unsigned int pktInterval; /* interval between each Tx Packet */
  975. unsigned int pktLength; /* 24~1500 */
  976. WiFi_TestPktTxPattern_E pattern; /* content of the Tx Packet */
  977. unsigned char txAnt; /* 0 for Antenna 0; 1 for Antenna 1 */
  978. unsigned int txFlags;
  979. unsigned int targetAlc;
  980. unsigned char is_short_preamble; /* 0 for long preamble and 1 for short preamble */
  981. unsigned char mac_header[ 24 ]; /* Frame Ctrl, Duration = 2bytes + 2bytes */
  982. /* Address 1 = 6 bytes */ 
  983. /* Address 2 = 6 bytes */ 
  984. /* Address 3 = 6 bytes */ 
  985. /* Sequence Ctrl = 2 bytes */
  986. } WiFi_TestPktTx_Ex_S;
  987. typedef struct {    
  988. unsigned int pkt_sent_count;  /* total num sent */
  989. unsigned int pkt_sent_acked;  /* acked num */    
  990. } WiFi_TxStatus_S;
  991. typedef struct {    
  992. unsigned int pkt_sent_count;  /* total num sent */
  993. unsigned int pkt_sent_acked;  /* acked num */    
  994. unsigned short avgAlc;
  995. unsigned char cckGainControl;
  996.     unsigned char ofdmGainControl;
  997. } WiFi_TxStatus_Ex_S;
  998. typedef struct {
  999. unsigned int ch_freq;  /* Frq, units are kHz */
  1000. WiFi_TestPktRxMode_E mode;
  1001. WiFi_RxAntSel_E rxAnt;
  1002. } WiFi_TestPktRx_S;
  1003. typedef struct {    
  1004. unsigned int int_rx_ok_num;     /* number of packets that Rx ok from interrupt */
  1005. unsigned int int_crc_err_num;   /* number of packets that CRC error from interrupt */
  1006. unsigned int pau_rx_pkt_count;  /* number of packets that Rx ok from PAU */
  1007. unsigned int pau_crc_err_count; /* number of packets that CRC error from PAU */
  1008. unsigned int pau_cca_count;     /* CCA rising edge count */
  1009. unsigned int pau_rx_fifo_full_count; /* number of lost packets due to FiFo full */
  1010. unsigned int int_long_preamble_num;
  1011. unsigned int int_short_preamble_num;
  1012. unsigned int int_rate_ok_num[ WIFI_TEST_RATE_COUNT ];
  1013. unsigned int int_rate_crc_err_num[ WIFI_TEST_RATE_COUNT ];
  1014. int int_rssi_max;
  1015. int int_rssi_min;
  1016. int int_rssi_mean;
  1017. int int_rssi_variance;
  1018. } WiFi_RxStatus_S;
  1019. typedef struct {    
  1020. int  ED;
  1021. int  OSD;
  1022. int  SQ1;
  1023. int  SFD;
  1024. int  CRC16;
  1025. } WiFi_RxCounter_S;
  1026. typedef struct {    
  1027. unsigned int channel_num;
  1028. unsigned char channel_list[64];
  1029. } WiFi_ChannelList_S;
  1030. typedef struct {    
  1031. unsigned char country_code[2];
  1032. } WiFi_RegDomain_S;
  1033. typedef struct {
  1034. unsigned int index; // 32bits alignment index, +4 
  1035. unsigned int mcr_data32;
  1036. } WiFi_MACReg32_S;
  1037. typedef struct {
  1038. unsigned int index; // 16bits alignment index, +2 
  1039. unsigned short mcr_data16;
  1040. } WiFi_MACReg16_S;
  1041. typedef struct {
  1042. unsigned int index; // 8bits alignment index, +1 
  1043. unsigned char bbcr_data8;
  1044. } WiFi_BBReg8_S;
  1045. typedef struct {
  1046. unsigned int index; // 16bits alignment index, +2 
  1047. unsigned short eeprom_data16;
  1048. } WiFi_EEPROM_S;
  1049. //-----------------------------------------------------//
  1050. //  WiFi Calibration: WNDRV SET Functions              //
  1051. //-----------------------------------------------------//
  1052. META_RESULT  __stdcall META_WiFi_Stop(unsigned int  ms_timeout);
  1053. META_RESULT  __stdcall META_WiFi_Stop_r(const int meta_handle, unsigned int  ms_timeout);
  1054. META_RESULT  __stdcall META_WiFi_ContTx(unsigned int  ms_timeout, const WiFi_TestTx_S *req);
  1055. META_RESULT  __stdcall META_WiFi_ContTx_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TestTx_S *req);
  1056. META_RESULT  __stdcall META_WiFi_LocalFrequencyMeasure(unsigned int  ms_timeout, const WiFi_TestTx_S *req);
  1057. META_RESULT  __stdcall META_WiFi_LocalFrequencyMeasure_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TestTx_S *req);
  1058. META_RESULT  __stdcall META_WiFi_CarrierSuppressionMeasure(unsigned int  ms_timeout, const WiFi_TestTx_S *req);
  1059. META_RESULT  __stdcall META_WiFi_CarrierSuppressionMeasure_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TestTx_S *req);
  1060. META_RESULT  __stdcall META_WiFi_ContPktTx(unsigned int  ms_timeout, const WiFi_TestPktTx_S *req);
  1061. META_RESULT  __stdcall META_WiFi_ContPktTx_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TestPktTx_S *req);
  1062. META_RESULT  __stdcall META_WiFi_ContPktTx_Ex(unsigned int  ms_timeout, const WiFi_TestPktTx_Ex_S *req);
  1063. META_RESULT  __stdcall META_WiFi_ContPktTx_Ex_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TestPktTx_Ex_S *req);
  1064. META_RESULT  __stdcall META_WiFi_SetPowerManagementMode(unsigned int  ms_timeout, const WiFi_PowerManagementMode_E  mode);
  1065. META_RESULT  __stdcall META_WiFi_SetPowerManagementMode_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_PowerManagementMode_E  mode);
  1066. META_RESULT  __stdcall META_WiFi_ContPktRx(unsigned int  ms_timeout, const WiFi_TestPktRx_S *req);
  1067. META_RESULT  __stdcall META_WiFi_ContPktRx_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TestPktRx_S *req);
  1068. META_RESULT  __stdcall META_WiFi_SetRegDomain(unsigned int  ms_timeout, const WiFi_RegDomain_S  *req);
  1069. META_RESULT  __stdcall META_WiFi_SetRegDomain_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_RegDomain_S  *req);
  1070. META_RESULT  __stdcall META_WiFi_SetDbmToDac(unsigned int  ms_timeout, const WiFi_DBM2DAC_Set_S *req);
  1071. META_RESULT  __stdcall META_WiFi_SetDbmToDac_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_DBM2DAC_Set_S *req);
  1072. META_RESULT  __stdcall META_WiFi_MACReg32Write(unsigned int  ms_timeout, const WiFi_MACReg32_S  *array, unsigned int array_cnt);
  1073. META_RESULT  __stdcall META_WiFi_MACReg32Write_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_MACReg32_S  *array, unsigned int array_cnt);
  1074. META_RESULT  __stdcall META_WiFi_MACReg16Write(unsigned int  ms_timeout, const WiFi_MACReg16_S  *array, unsigned int array_cnt);
  1075. META_RESULT  __stdcall META_WiFi_MACReg16Write_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_MACReg16_S  *array, unsigned int array_cnt);
  1076. META_RESULT  __stdcall META_WiFi_BBRegWrite(unsigned int  ms_timeout, const WiFi_BBReg8_S  *array, unsigned int array_cnt);
  1077. META_RESULT  __stdcall META_WiFi_BBRegWrite_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_BBReg8_S  *array, unsigned int array_cnt);
  1078. META_RESULT  __stdcall META_WiFi_EEPROM_Write(unsigned int  ms_timeout, const WiFi_EEPROM_S *array, unsigned int array_cnt);
  1079. META_RESULT  __stdcall META_WiFi_EEPROM_Write_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_EEPROM_S *array, unsigned int array_cnt);
  1080. //-----------------------------------------------------//
  1081. //  WiFi Calibration: WNDRV QUERY Functions            //
  1082. //-----------------------------------------------------//
  1083. META_RESULT  __stdcall META_WiFi_QueryTxStatus(unsigned int  ms_timeout, WiFi_TxStatus_S *cnf);
  1084. META_RESULT  __stdcall META_WiFi_QueryTxStatus_r(const int meta_handle, unsigned int  ms_timeout, WiFi_TxStatus_S *cnf);
  1085. META_RESULT  __stdcall META_WiFi_QueryTxStatus_Ex(unsigned int  ms_timeout, WiFi_TxStatus_Ex_S *cnf);
  1086. META_RESULT  __stdcall META_WiFi_QueryTxStatus_Ex_r(const int meta_handle, unsigned int  ms_timeout, WiFi_TxStatus_Ex_S *cnf);
  1087. META_RESULT  __stdcall META_WiFi_QueryRxStatus(unsigned int  ms_timeout, WiFi_RxStatus_S *cnf);
  1088. META_RESULT  __stdcall META_WiFi_QueryRxStatus_r(const int meta_handle, unsigned int  ms_timeout, WiFi_RxStatus_S *cnf);
  1089. META_RESULT  __stdcall META_WiFi_QueryChannelList(unsigned int  ms_timeout, WiFi_ChannelList_S *cnf);
  1090. META_RESULT  __stdcall META_WiFi_QueryChannelList_r(const int meta_handle, unsigned int  ms_timeout, WiFi_ChannelList_S *cnf);
  1091. META_RESULT  __stdcall META_WiFi_QueryRxCounter(unsigned int  ms_timeout, WiFi_RxCounter_S *cnf);
  1092. META_RESULT  __stdcall META_WiFi_QueryRxCounter_r(const int meta_handle, unsigned int  ms_timeout, WiFi_RxCounter_S *cnf);
  1093. META_RESULT  __stdcall META_WiFi_QueryDbmToDac(unsigned int  ms_timeout, WiFi_DBM2DAC_Query_S  *cnf);
  1094. META_RESULT  __stdcall META_WiFi_QueryDbmToDac_r(const int meta_handle, unsigned int  ms_timeout, WiFi_DBM2DAC_Query_S  *cnf);
  1095. META_RESULT  __stdcall META_WiFi_MACReg32Read(unsigned int  ms_timeout, WiFi_MACReg32_S  *array, unsigned int array_cnt);
  1096. META_RESULT  __stdcall META_WiFi_MACReg32Read_r(const int meta_handle, unsigned int  ms_timeout, WiFi_MACReg32_S  *array, unsigned int array_cnt);
  1097. META_RESULT  __stdcall META_WiFi_MACReg16Read(unsigned int  ms_timeout, WiFi_MACReg16_S  *array, unsigned int array_cnt);
  1098. META_RESULT  __stdcall META_WiFi_MACReg16Read_r(const int meta_handle, unsigned int  ms_timeout, WiFi_MACReg16_S  *array, unsigned int array_cnt);
  1099. META_RESULT  __stdcall META_WiFi_BBRegRead(unsigned int  ms_timeout, WiFi_BBReg8_S  *array, unsigned int array_cnt);
  1100. META_RESULT  __stdcall META_WiFi_BBRegRead_r(const int meta_handle, unsigned int  ms_timeout, WiFi_BBReg8_S  *array, unsigned int array_cnt);
  1101. META_RESULT  __stdcall META_WiFi_EEPROM_Read(unsigned int  ms_timeout, WiFi_EEPROM_S *array, unsigned int array_cnt);
  1102. META_RESULT  __stdcall META_WiFi_EEPROM_Read_r(const int meta_handle, unsigned int  ms_timeout, WiFi_EEPROM_S *array, unsigned int array_cnt);
  1103. META_RESULT  __stdcall META_WiFi_DacDcOffsetAutoCalibration(unsigned int  ms_timeout, WiFi_DAC_DC_Offset_S  *cnf);
  1104. META_RESULT  __stdcall META_WiFi_DacDcOffsetAutoCalibration_r(const int meta_handle, unsigned int  ms_timeout, WiFi_DAC_DC_Offset_S  *cnf);
  1105. //-----------------------------------------------------//
  1106. //  WiFi Calibration: Exported Functions               //
  1107. //-----------------------------------------------------//
  1108. META_RESULT  __stdcall META_WiFi_QueryChipCapability(unsigned int  ms_timeout, WiFi_ChipCapability_S  *cnf);
  1109. META_RESULT  __stdcall META_WiFi_QueryChipCapability_r(const int meta_handle, unsigned int  ms_timeout, WiFi_ChipCapability_S  *cnf);
  1110. META_RESULT  __stdcall META_WiFi_SetMacAddress(unsigned int  ms_timeout, const WiFi_MacAddress_S  *mac);
  1111. META_RESULT  __stdcall META_WiFi_SetMacAddress_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_MacAddress_S  *mac);
  1112. META_RESULT  __stdcall META_WiFi_SetTxPower2400M(unsigned int  ms_timeout, const WiFi_TxPower_2400M_S  *txpwr);
  1113. META_RESULT  __stdcall META_WiFi_SetTxPower2400M_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TxPower_2400M_S  *txpwr);
  1114. META_RESULT  __stdcall META_WiFi_SetTxPower5000M(unsigned int  ms_timeout, const WiFi_TxPower_5000M_S  *txpwr);
  1115. META_RESULT  __stdcall META_WiFi_SetTxPower5000M_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TxPower_5000M_S  *txpwr);
  1116. META_RESULT  __stdcall META_WiFi_SetDacDcOffset(unsigned int  ms_timeout, const WiFi_DAC_DC_Offset_S  *dac_dc_offset);
  1117. META_RESULT  __stdcall META_WiFi_SetDacDcOffset_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_DAC_DC_Offset_S  *dac_dc_offset);
  1118. META_RESULT  __stdcall META_WiFi_SetTxALC2400M(unsigned int  ms_timeout, const WiFi_TxALC_2400M_S  *txalc);
  1119. META_RESULT  __stdcall META_WiFi_SetTxALC2400M_r(const int meta_handle, unsigned int  ms_timeout, const WiFi_TxALC_2400M_S  *txalc);
  1120. //--------------------------------------------------------------------------//
  1121. //  BT Calibration                                                          //
  1122. //--------------------------------------------------------------------------//
  1123. //-----------------------------------------------------//
  1124. //  BT Calibration: data structure definition          //
  1125. //-----------------------------------------------------//
  1126. // BT Module ID 
  1127. #define BT_NOT_SUPPORT 0x00000000
  1128. #define BTMODULE_MT6601 0x00000011
  1129. #define BTMODULE_MT6611     0x00000012
  1130. #define BTMODULE_RFMD3500   0x00000021 
  1131. #define BTMODULE_RFMD4020 0x00000022
  1132. //#define BT_PACKET_LEN       339
  1133. #define BT_PACKET_LEN       1021  // because BT2.0 support at most 1021 bytes per packet
  1134. typedef struct {
  1135. unsigned char id;
  1136. } BT_ModuleID_S;
  1137. typedef struct {
  1138. unsigned char   m_event;
  1139. char          m_status;
  1140. unsigned short  m_handle;
  1141. unsigned char m_len;
  1142. unsigned char m_parms[256];
  1143. } BT_HCI_EVENT;
  1144. typedef struct {
  1145. unsigned short m_opcode;
  1146. unsigned char m_len;
  1147. unsigned char m_cmd[256];
  1148. } BT_HCI_COMMAND;
  1149. typedef struct {
  1150.     unsigned short           m_con_hdl;
  1151.     unsigned short           m_len;      
  1152.     unsigned char            m_buffer[BT_PACKET_LEN]; 
  1153. } BT_HCI_BUFFER;
  1154. typedef struct {
  1155.     unsigned short           m_len;
  1156.     unsigned char            m_data[BT_PACKET_LEN];
  1157. } BT_HCI_PACKET;
  1158. typedef struct {
  1159.     unsigned short           m_con_hdl;
  1160.     unsigned short           m_len;      
  1161.     unsigned short           m_total_pks; 
  1162. } BT_HCI_TX_PURE_TEST;
  1163. typedef struct {
  1164.     unsigned int             m_used_time;
  1165.     unsigned short           m_len;     
  1166. } BT_HCI_TX_PURE_TEST_STAT;
  1167. typedef struct {
  1168.     unsigned int             m_used_time;
  1169.     unsigned short           m_len;     
  1170. } BT_HCI_RX_PURE_TEST_STAT;
  1171. typedef struct {
  1172.     unsigned int             m_u4UsedTime;
  1173.     unsigned short           m_u2PktSentNum; 
  1174.     
  1175. } BT_HCI_TX_PURE_TEST_STAT_V2;
  1176. //-----------------------------------------------------//
  1177. //  BT Calibration Functions                           //
  1178. //-----------------------------------------------------//
  1179. META_RESULT  __stdcall META_BT_QueryModuleID(unsigned int  ms_timeout, BT_ModuleID_S  *cnf);
  1180. META_RESULT  __stdcall META_BT_QueryModuleID_r(const int meta_handle, unsigned int  ms_timeout, BT_ModuleID_S  *cnf);
  1181. typedef void (__stdcall *META_BT_HCI_CNF)(const BT_HCI_EVENT *cnf, const short token, void *usrData);
  1182. typedef void (__stdcall *META_BT_HCI_TXDATA_CNF)(const BT_HCI_PACKET *cnf, const short token, void *usrData);
  1183. typedef void (__stdcall *META_BT_AUTO_HCI_CNF)(const BT_HCI_EVENT *cnf, const short token, void *usrData);
  1184. typedef void (__stdcall *META_BT_HCI_RXDATA_CNF)(const BT_HCI_BUFFER *cnf, const short token, void *usrData);
  1185. typedef void (__stdcall *META_BT_HCI_TXTEST_CNF)(const BT_HCI_TX_PURE_TEST_STAT *cnf, const short token, void *usrData);
  1186. typedef void (__stdcall *META_BT_HCI_RXTEST_CNF)(const BT_HCI_RX_PURE_TEST_STAT *cnf, const short token, void *usrData);
  1187. typedef void (__stdcall *META_BT_HCI_TXTEST_V2_CNF)(const BT_HCI_TX_PURE_TEST_STAT_V2 *cnf, const short token, void *usrData);
  1188. typedef struct{
  1189. META_BT_HCI_TXDATA_CNF      m_SendDataCallback;
  1190. META_BT_HCI_RXDATA_CNF m_RecvDataCallback;
  1191. META_BT_AUTO_HCI_CNF m_AutoCallback;
  1192. META_BT_HCI_TXTEST_CNF m_TxTestCallback;
  1193. META_BT_HCI_RXTEST_CNF m_RxTestCallback;
  1194. META_BT_HCI_TXTEST_V2_CNF   m_TxTestCallback_V2;
  1195. } BT_OtherCallBack;
  1196. META_RESULT  __stdcall META_BT_SendHCICommand(unsigned int  ms_timeout,BT_HCI_COMMAND *req, META_BT_HCI_CNF  cb, void  *cb_arg, unsigned char Cmpltcode);
  1197. META_RESULT  __stdcall META_BT_SendHCICommand_r(const int meta_handle, unsigned int  ms_timeout,BT_HCI_COMMAND *req, META_BT_HCI_CNF  cb, void  *cb_arg, unsigned char Cmpltcode);
  1198. META_RESULT  __stdcall META_BT_CancelHCICommand(unsigned int  ms_timeout);
  1199. META_RESULT  __stdcall META_BT_CancelHCICommand_r(const int meta_handle, unsigned int  ms_timeout);
  1200. META_RESULT  __stdcall META_BT_SendHCIData(unsigned int  ms_timeout,BT_HCI_BUFFER *snd, META_BT_HCI_TXDATA_CNF  cb_tx, void  *cb_arg);
  1201. META_RESULT  __stdcall META_BT_SendHCIData_r(const int meta_handle, unsigned int  ms_timeout,BT_HCI_BUFFER *snd, META_BT_HCI_TXDATA_CNF  cb_tx, void  *cb_arg);
  1202. META_RESULT  __stdcall META_BT_RegisterAutoCallback(META_BT_AUTO_HCI_CNF cb_auto);
  1203. META_RESULT  __stdcall META_BT_RegisterAutoCallback_r(const int meta_handle,META_BT_AUTO_HCI_CNF cb_auto);
  1204. META_RESULT  __stdcall META_BT_ReceiveHCIData(META_BT_HCI_RXDATA_CNF cb_rx);
  1205. META_RESULT  __stdcall META_BT_ReceiveHCIData_r(const int meta_handle,META_BT_HCI_RXDATA_CNF cb_rx);
  1206. META_RESULT  __stdcall META_BT_TxPureTest(unsigned int  ms_timeout, BT_HCI_TX_PURE_TEST *snd, META_BT_HCI_TXTEST_CNF cb_tx, void  *cb_arg);
  1207. META_RESULT  __stdcall META_BT_TxPureTest_r(const int meta_handle, unsigned int  ms_timeout, BT_HCI_TX_PURE_TEST *snd, META_BT_HCI_TXTEST_CNF cb_tx, void  *cb_arg);
  1208. META_RESULT  __stdcall META_BT_RxTestStart(unsigned int  ms_timeout, META_BT_HCI_RXTEST_CNF cb_rx);
  1209. META_RESULT  __stdcall META_BT_RxTestStart_r(const int meta_handle, unsigned int  ms_timeout, META_BT_HCI_RXTEST_CNF cb_rx);
  1210. META_RESULT  __stdcall META_BT_RxTestEnd(unsigned int  ms_timeout); 
  1211. META_RESULT  __stdcall META_BT_RxTestEnd_r(const int meta_handle, unsigned int  ms_timeout);
  1212. META_RESULT  __stdcall META_BT_TxPureTest_V2(unsigned int  ms_timeout, BT_HCI_TX_PURE_TEST *snd, META_BT_HCI_TXTEST_V2_CNF cb_txtest, void  *cb_arg);
  1213. META_RESULT  __stdcall META_BT_TxPureTest_V2_r(const int meta_handle, unsigned int  ms_timeout, BT_HCI_TX_PURE_TEST *snd, META_BT_HCI_TXTEST_V2_CNF cb_txtest, void  *cb_arg);
  1214. META_RESULT  __stdcall META_BT_RxTestStart_V2(unsigned int  ms_timeout, META_BT_HCI_RXTEST_CNF cb_rx);
  1215. META_RESULT  __stdcall META_BT_RxTestStart_V2_r(const int meta_handle, unsigned int ms_timeout, META_BT_HCI_RXTEST_CNF cb_rx);
  1216. META_RESULT  __stdcall META_BT_EnableNvramOnlineUpdate(unsigned int  ms_timeout);
  1217. META_RESULT  __stdcall META_BT_EnableNvramOnlineUpdate_r(const int meta_handle, unsigned int ms_timeout);
  1218. META_RESULT  __stdcall META_BT_DisableNvramOnlineUpdate(unsigned int  ms_timeout);
  1219. META_RESULT  __stdcall META_BT_DisableNvramOnlineUpdate_r(const int meta_handle, unsigned int ms_timeout);
  1220. META_RESULT  __stdcall META_BT_EnablePcmClockSyncSignal(unsigned int  ms_timeout);
  1221. META_RESULT  __stdcall META_BT_EnablePcmClockSyncSignal_r(const int meta_handle, unsigned int ms_timeout);
  1222. META_RESULT  __stdcall META_BT_DisablePcmClockSyncSignal(unsigned int  ms_timeout);
  1223. META_RESULT  __stdcall META_BT_DisablePcmClockSyncSignal_r(const int meta_handle, unsigned int ms_timeout);
  1224. META_RESULT  __stdcall META_BT_RemoveAutoCallback();
  1225. META_RESULT  __stdcall META_BT_RemoveAutoCallback_r(const int meta_handle);
  1226. META_RESULT  __stdcall META_BT_RemoveReceiveHCIDataCallback();
  1227. META_RESULT  __stdcall META_BT_RemoveReceiveHCIDataCallback_r(const int meta_handle);
  1228. //----------------------------------------------------------------//
  1229. //                              FM                                //
  1230. //----------------------------------------------------------------//
  1231. //--------------------------//
  1232. //    FM data structures    //
  1233. //--------------------------//
  1234. #define FM_CHIP_ID_MT6189AN         0
  1235. #define FM_CHIP_ID_MT6189BN_CN      1
  1236. #define FM_CHIP_ID_MT6188A         3
  1237. #define FM_CHIP_ID_MT6188C         4
  1238. #define FM_CHIP_ID_MT6188D         5
  1239. typedef struct
  1240. {
  1241. unsigned char m_ucChipId;
  1242. }FM_CHIP_ID_CNF_T;
  1243. typedef struct
  1244. {
  1245. short m_i2CurFreq;  // freq range is [875, 1080]
  1246. }FM_FREQ_REQ_T;
  1247. typedef struct
  1248. {
  1249.     unsigned char m_ucSignalLevel;
  1250. }FM_RSSI_CNF_T;
  1251. typedef struct
  1252. {
  1253. //unsigned char m_ucIfCnt;
  1254. unsigned short m_u2IfCnt;
  1255. }FM_IF_CNT_CNF_T;
  1256. typedef struct
  1257. {
  1258. unsigned short m_u2MonoOrStereo;  // 0: mono, 1: stereo
  1259. unsigned short m_u2SblendOnOrOff; // 0: sblend off, 1: sblend on
  1260. unsigned int   m_u4ItemValue;  // 0: disable, 1: enable
  1261. }FM_MONO_STEREO_BLEND_REQ_T;
  1262. typedef struct  // freq range is [875, 1080]
  1263. {
  1264.    short m_i2StartFreq;    // note: when we try to search next: start freq should <= stop freq 
  1265.    short m_i2StopFreq;     // note: when we try to search prev: start freq should >= stop freq
  1266. }FM_FREQ_RANGE_REQ_T;
  1267. typedef struct
  1268. {
  1269. unsigned char m_ucExit;      // 0: don't exist, 1: exist
  1270. short         m_i2ValidFreq; // -1: settings error, 0: invalid freq, others: 875-1080 valid
  1271. }FM_VAILD_FREQ_CNF_T;
  1272. typedef struct
  1273. {
  1274.    unsigned int m_u4RssiThreshold;
  1275. }FM_RSSI_THRESHOLD_REQ_T;
  1276. typedef struct
  1277. {
  1278.    unsigned int m_u4IfCntDelta;
  1279. }FM_IF_CNT_DELTA_REQ_T;
  1280. typedef struct
  1281. {
  1282. unsigned char m_ucAddr;
  1283. }FM_READ_BYTE_ADDR_REQ_T;
  1284. typedef struct
  1285. {
  1286.    unsigned short m_u2ReadByte;
  1287. }FM_READ_BYTE_CNF_T;
  1288. typedef struct
  1289. {
  1290. unsigned char m_ucAddr;
  1291. unsigned short m_u2WriteByte;
  1292. }FM_WRITE_BYTE_REQ_T;
  1293. typedef struct
  1294. {
  1295.     unsigned char m_bOnOff;  // 0: off, 1: on
  1296. }FM_SOFT_MUTE_ONOFF_REQ_T;
  1297. typedef struct
  1298. {
  1299. unsigned char m_ucStage;  // 1~3
  1300. }FM_STAGE_REQ_T;
  1301. typedef struct
  1302. {
  1303. unsigned char  m_ucHighOrLow;
  1304. }FM_HL_Side_CNF_T;
  1305. typedef struct
  1306. {
  1307. unsigned char m_ucStereoOrMono;
  1308. }FM_Stereo_Mono_CNF_T;
  1309. //--------------------------//
  1310. //      FM Functions        //
  1311. //--------------------------//
  1312. META_RESULT  __stdcall META_FM_GetChipId(unsigned int ms_timeout, FM_CHIP_ID_CNF_T *cnf);
  1313. META_RESULT  __stdcall META_FM_GetChipId_r(const int meta_handle, unsigned int ms_timeout, FM_CHIP_ID_CNF_T *cnf);
  1314. META_RESULT  __stdcall META_FM_PowerOn(unsigned int ms_timeout);
  1315. META_RESULT  __stdcall META_FM_PowerOn_r(const int meta_handle, unsigned int ms_timeout);
  1316. META_RESULT  __stdcall META_FM_PowerOff(unsigned int ms_timeout);
  1317. META_RESULT  __stdcall META_FM_PowerOff_r(const int meta_handle, unsigned int ms_timeout);
  1318. META_RESULT  __stdcall META_FM_SetFreq(unsigned int ms_timeout, FM_FREQ_REQ_T *req);
  1319. META_RESULT  __stdcall META_FM_SetFreq_r(const int meta_handle, unsigned int ms_timeout, FM_FREQ_REQ_T *req);
  1320. META_RESULT  __stdcall META_FM_GetRSSI(unsigned int ms_timeout, FM_FREQ_REQ_T *req, FM_RSSI_CNF_T *cnf);
  1321. META_RESULT  __stdcall META_FM_GetRSSI_r(const int meta_handle, unsigned int ms_timeout, FM_FREQ_REQ_T *req, FM_RSSI_CNF_T *cnf);
  1322. META_RESULT  __stdcall META_FM_GetIfCnt(unsigned int ms_timeout, FM_FREQ_REQ_T *req, FM_IF_CNT_CNF_T *cnf);
  1323. META_RESULT  __stdcall META_FM_GetIfCnt_r(const int meta_handle, unsigned int ms_timeout, FM_FREQ_REQ_T *req, FM_IF_CNT_CNF_T *cnf);
  1324. META_RESULT __stdcall META_FM_SearchNextFreq(unsigned int ms_timeout, FM_FREQ_RANGE_REQ_T *req, FM_VAILD_FREQ_CNF_T *cnf);
  1325. META_RESULT __stdcall META_FM_SearchNextFreq_r(const int meta_handle, unsigned int ms_timeout, FM_FREQ_RANGE_REQ_T *req, FM_VAILD_FREQ_CNF_T *cnf);
  1326. META_RESULT __stdcall META_FM_SearchPrevFreq(unsigned int ms_timeout, FM_FREQ_RANGE_REQ_T *req, FM_VAILD_FREQ_CNF_T *cnf);
  1327. META_RESULT __stdcall META_FM_SearchPrevFreq_r(const int meta_handle, unsigned int ms_timeout, FM_FREQ_RANGE_REQ_T *req, FM_VAILD_FREQ_CNF_T *cnf);
  1328. META_RESULT  __stdcall META_FM_SetMonoOrStereo_Blend(unsigned int ms_timeout, FM_MONO_STEREO_BLEND_REQ_T *req);
  1329. META_RESULT  __stdcall META_FM_SetMonoOrStereo_Blend_r(const int meta_handle, unsigned int ms_timeout, FM_MONO_STEREO_BLEND_REQ_T *req);
  1330. META_RESULT  __stdcall META_FM_SetRssiThreold(unsigned int ms_timeout, FM_RSSI_THRESHOLD_REQ_T *req);
  1331. META_RESULT  __stdcall META_FM_SetRssiThreold_r(const int meta_handle, unsigned int ms_timeout, FM_RSSI_THRESHOLD_REQ_T *req);
  1332. META_RESULT  __stdcall META_FM_SetIfCntDelta(unsigned int ms_timeout, FM_IF_CNT_DELTA_REQ_T *req);
  1333. META_RESULT  __stdcall META_FM_SetIfCntDelta_r(const int meta_handle, unsigned int ms_timeout, FM_IF_CNT_DELTA_REQ_T *req);
  1334. META_RESULT __stdcall META_FM_ReadByte(unsigned int ms_timeout, FM_READ_BYTE_ADDR_REQ_T *req, FM_READ_BYTE_CNF_T *cnf);
  1335. META_RESULT __stdcall META_FM_ReadByte_r(const int meta_handle, unsigned int ms_timeout, FM_READ_BYTE_ADDR_REQ_T *req, FM_READ_BYTE_CNF_T *cnf);
  1336. META_RESULT  __stdcall META_FM_WriteByte(unsigned int ms_timeout, FM_WRITE_BYTE_REQ_T *req);
  1337. META_RESULT  __stdcall META_FM_WriteByte_r(const int meta_handle, unsigned int ms_timeout, FM_WRITE_BYTE_REQ_T *req);
  1338. META_RESULT  __stdcall META_FM_SetSoftMute(unsigned int ms_timeout, FM_SOFT_MUTE_ONOFF_REQ_T *req);
  1339. META_RESULT  __stdcall META_FM_SetSoftMute_r(const int meta_handle, unsigned int ms_timeout, FM_SOFT_MUTE_ONOFF_REQ_T *req);
  1340. META_RESULT  __stdcall META_FM_SelectSoftMuteStage(unsigned int ms_timeout, FM_STAGE_REQ_T *req);
  1341. META_RESULT  __stdcall META_FM_SelectSoftMuteStage_r(const int meta_handle, unsigned int ms_timeout, FM_STAGE_REQ_T *req); 
  1342. META_RESULT  __stdcall META_FM_SelectSBlendStage(unsigned int ms_timeout, FM_STAGE_REQ_T *req);
  1343. META_RESULT  __stdcall META_FM_SelectSBlendStage_r(const int meta_handle, unsigned int ms_timeout, FM_STAGE_REQ_T *req); 
  1344. META_RESULT  __stdcall META_FM_GetHighOrLowSide(unsigned int ms_timeout, FM_FREQ_REQ_T *req, FM_HL_Side_CNF_T *cnf);
  1345. META_RESULT  __stdcall META_FM_GetHighOrLowSide_r(const int meta_handle, unsigned int ms_timeout, FM_FREQ_REQ_T *req, FM_HL_Side_CNF_T *cnf);
  1346. META_RESULT  __stdcall META_FM_GetStereoOrMono(unsigned int ms_timeout, FM_Stereo_Mono_CNF_T *cnf);
  1347. META_RESULT  __stdcall META_FM_GetStereoOrMono_r(const int meta_handle, unsigned int ms_timeout, FM_Stereo_Mono_CNF_T *cnf);
  1348. //----------------------------------------------------------------//
  1349. //                            TDMB                                //
  1350. //----------------------------------------------------------------//
  1351. //--------------------------//
  1352. //    TDMB data structures  //
  1353. //--------------------------//
  1354. typedef enum {   // ref from TDMB
  1355.    META_TDMB_KOREA_BAND=1,
  1356.    META_TDMB_BAND_III,
  1357.    META_TDMB_L_BAND,
  1358.    META_TDMB_CANADA_BAND,
  1359.    META_TDMB_CHINESE_BAND,
  1360.    META_TDMB_BAND_II,
  1361.    META_TDMB_BAND_IF,
  1362.    META_TDMB_UNDEF_BAND
  1363. } META_TDMB_BAND_enum;
  1364. typedef struct
  1365. {
  1366.     META_TDMB_BAND_enum  m_rBand;
  1367. }TDMB_SET_BAND_REQ_T;
  1368. typedef struct
  1369. {
  1370.    unsigned int  m_u4Freq;
  1371. }TDMB_SET_FREQ_REQ_T;
  1372. typedef struct
  1373. {
  1374. unsigned char m_ucFreqNum;
  1375. unsigned int m_u4Freq[10];
  1376.    
  1377. }TDMB_AUTO_SCAN_CNF_T;
  1378. // ========  for Ensemble ========
  1379. typedef struct
  1380. {
  1381. //TDMB_DBSTATE    DB;
  1382. unsigned char        m_ucStateNum;
  1383. unsigned int  m_u4State[10];
  1384. unsigned int Type;   //DMB,DAB,DATA
  1385. unsigned int Id;
  1386. unsigned int BitRate;
  1387. unsigned char PL; //Protection Level
  1388. unsigned char Reg[8];
  1389. unsigned short UserApplType; // added by KST 2006.07.20
  1390. unsigned int TMId;
  1391. unsigned int ASCTy_DSCTy;
  1392. unsigned int SCId;
  1393. unsigned int PackAdd;
  1394. unsigned int DG_MFflag;
  1395. unsigned int Primary;
  1396. unsigned int CAflag;
  1397. unsigned int Language;
  1398. char SCLabel[16];
  1399.  
  1400. //TDMB_SvcComponentInfo  *pSvcComp;
  1401. unsigned char SvcComp_Order; // 4bits
  1402. unsigned char SvcComp_TMId; // 2bits Transport Mechanism Id
  1403. unsigned char SvcComp_ASCTy_DSCTy; // 6bits Audio Service Component Type
  1404. unsigned char SvcComp_SubCh_FIDCId; // 6bits SubChId or FIDCId in FIG 0/4
  1405. unsigned int SvcComp_SId; // 16bit
  1406. unsigned char SvcComp_CAflag; // 1bit CA Flag
  1407. unsigned char SvcComp_DG_MFflag; // 1bit DG Flag or MF flag
  1408. unsigned char SvcComp_Language; // 8bit
  1409. unsigned char SvcComp_SCIdS; // 4bit Service component Identifier within ther Service
  1410.          // kal_uint8 SvcCompLabel[16];// 16bytes Service component Label
  1411. unsigned short SvcComp_SCId; // 12bits Service Component Id
  1412. unsigned short SvcComp_PackAdd; // 10bits Packet Address
  1413. unsigned short SvcComp_SCCA; // 16bits Service Component Conditional Access
  1414. //TDMB_SubChInfo  *pSubCh;
  1415. unsigned char     SubChId; // 6bits Sub channel Id
  1416. unsigned char     TblIndex; // 6bits TableIndex
  1417. unsigned char     Form_Opt_Prot;  //[3] : FormFlag   //[2] : Option//[1~0] : protection
  1418. unsigned short     StrtAdd; // 10bits Start Address
  1419. unsigned short     SubChSize; // 10bits Sub channel size
  1420. unsigned int Tag;
  1421. // void* Link;
  1422. }TDMB_CHANNELDB_T;
  1423. typedef struct
  1424. {
  1425. // TDMB_DBSTATE
  1426. unsigned char       m_ucStateNum;
  1427. unsigned int m_u4State[10];
  1428. unsigned int Id;
  1429. char Label[20];
  1430. //TDMB_ServiceInfo  *pService;
  1431. unsigned int SId; // 32bits
  1432. unsigned char SvcLabel[16]; // 16bytes Service Label(Program service and Data service)
  1433. unsigned short CharacterFlag;
  1434. unsigned char CAId; // 3bit
  1435. unsigned char NumSvcComp; // 4bits Number of Service Component
  1436. //TDMB_CHANNELDB *Channel;
  1437.     unsigned char     m_ucChannelDBNum;
  1438. TDMB_CHANNELDB_T  m_rChannelDB[10];
  1439. //struct _TDMB_SERVICEDB *Next;
  1440. unsigned int Tag;
  1441. unsigned int ChannelCount;
  1442. // void* Link;
  1443. }TDMB_SERVICEDB_T; 
  1444. typedef struct
  1445. {
  1446. // TDMB_DBSTATE
  1447. unsigned char        m_ucStateNum;
  1448. unsigned int  m_u4State[10];
  1449. unsigned int  Band;
  1450.     unsigned int  Frequency;
  1451.     unsigned short  Id;
  1452.     unsigned int  SvcNum;
  1453.     unsigned int  SvcCompNum;
  1454.     unsigned int  SubChNum;
  1455. char  Label[20];
  1456. // TDMB_EnsembleInfo
  1457. unsigned char AlFlag; // 1bit Al flag
  1458. unsigned char   NumSubCh;
  1459. unsigned char   NumSvc;
  1460. unsigned char NumProgram;
  1461. unsigned char   NumSvcComp;
  1462. unsigned char NumUserApp;
  1463. unsigned char NumAnn;
  1464. unsigned char NumProgType;
  1465. unsigned char EnsemLabel[16]; // 16bytes Ensemble Label
  1466. unsigned short  CharacterFlag;
  1467. unsigned short EId; // 16bits country Id Ensemble reference
  1468. // TDMB_SERVICEDB[]
  1469. unsigned char   m_ucServiceDBNum;
  1470. TDMB_SERVICEDB_T  m_rServiceDB[10];
  1471. }TDMB_ENSEMBLEDB_T;
  1472. typedef struct   // for META APP
  1473. {
  1474.    unsigned char      m_ucEnsembleNum;
  1475.    TDMB_ENSEMBLEDB_T  m_rEnsembleDB[10];
  1476. }TDMB_GET_ENSM_INFO_BY_AUTO_SCAN_CNF_T;
  1477. typedef struct   // for META APP
  1478. {
  1479. char m_cResult; // 0: success, 
  1480.                 // 1: the band not exist  ==> META_TDMB_ERR_BAND_NOT_EXIST
  1481.                 // 2: frequency not exist ==> META_TDMB_ERR_FREQ_NOT_EXIST
  1482. unsigned char      m_ucEnsembleNum;
  1483.     TDMB_ENSEMBLEDB_T  m_rEnsembleDB[10];
  1484. TDMB_ENSEMBLEDB_T  m_rCurEnsembleDB;
  1485. }TDMB_SET_FREQ_CNF_T;
  1486. typedef struct
  1487. {
  1488. unsigned short m_u2Snr;
  1489. unsigned short m_u2PostBer; // not provided so far, so return 0
  1490. unsigned short m_u2PreBer;  
  1491. unsigned short m_u2RSSI; 
  1492. }TDMB_GET_SIGNAL_CNF_T;
  1493. typedef struct
  1494. {
  1495. unsigned int m_u4ServiceId;
  1496. unsigned int m_u4SubChnId;
  1497. char         *m_pcfilepath; // store the TS stream data to this file 
  1498. }TDMB_SEL_SERVICE_REQ_T;
  1499. typedef struct  
  1500. {
  1501. unsigned int m_u4ServiceId;
  1502. unsigned int m_u4SubChnId;
  1503. }TDMB_SEL_SERVICE_ONLY_REQ_T;
  1504. typedef struct  //  for Meta APP only
  1505. {
  1506. unsigned char      m_ucEnsembleNum;
  1507.     TDMB_ENSEMBLEDB_T  m_rEnsembleDB[10];
  1508. TDMB_ENSEMBLEDB_T  m_rCurEnsembleDB;
  1509. }TDMB_GET_ENSM_CNF_T;
  1510. // --------------------------//
  1511. //      TDMB callback        //
  1512. // --------------------------//
  1513. typedef enum
  1514. {
  1515.     TDMB_FAT_DISK_FULL = 0
  1516.    ,TDMB_FAT_UNKNOWN_WRITE_ERROR
  1517. }TDMB_SEL_SERV_ERROR_RESULT;
  1518. typedef void (__stdcall *META_TDMB_SEL_SERV_CNF)(const TDMB_SEL_SERV_ERROR_RESULT status);
  1519. //--------------------------//
  1520. //      TDMB Functions      //
  1521. //--------------------------//
  1522. META_RESULT  __stdcall META_TDMB_TurnOn(unsigned int ms_timeout);
  1523. META_RESULT  __stdcall META_TDMB_TurnOn_r(const int meta_handle, unsigned int ms_timeout);
  1524. // send band may return: META_TDMB_ERR_BAND_NOT_EXIST, META_SUCCESS, META_FAILED
  1525. META_RESULT __stdcall META_TDMB_SetBand(unsigned int ms_timeout, TDMB_SET_BAND_REQ_T *req);
  1526. META_RESULT __stdcall META_TDMB_SetBand_r(const int meta_handle, unsigned int ms_timeout, TDMB_SET_BAND_REQ_T *req);
  1527. META_RESULT __stdcall META_TDMB_AutoScan_GetFreq(unsigned int ms_timeout, TDMB_AUTO_SCAN_CNF_T *cnf);
  1528. META_RESULT __stdcall META_TDMB_AutoScan_GetFreq_r(const int meta_handle, unsigned int ms_timeout, TDMB_AUTO_SCAN_CNF_T *cnf);
  1529. META_RESULT __stdcall META_TDMB_SetFreq(unsigned int ms_timeout, TDMB_SET_FREQ_REQ_T *req, TDMB_SET_FREQ_CNF_T *cnf);
  1530. META_RESULT __stdcall META_TDMB_SetFreq_r(const int meta_handle, unsigned int ms_timeout, TDMB_SET_FREQ_REQ_T *req, TDMB_SET_FREQ_CNF_T *cnf);
  1531. META_RESULT __stdcall META_TDMB_AutoScan_GetEnsemble(unsigned int ms_timeout, TDMB_GET_ENSM_INFO_BY_AUTO_SCAN_CNF_T *cnf);
  1532. META_RESULT __stdcall META_TDMB_AutoScan_GetEnsemble_r(const int meta_handle, unsigned int ms_timeout, TDMB_GET_ENSM_INFO_BY_AUTO_SCAN_CNF_T *cnf);
  1533. META_RESULT __stdcall META_TDMB_GetSignal(unsigned int ms_timeout, TDMB_GET_SIGNAL_CNF_T *cnf);
  1534. META_RESULT __stdcall META_TDMB_GetSignal_r(const int meta_handle, unsigned int ms_timeout, TDMB_GET_SIGNAL_CNF_T *cnf);
  1535. //META_RESULT __stdcall META_TDMB_SelService(unsigned int ms_timeout, TDMB_SEL_SERVICE_REQ_T *req);
  1536. //META_RESULT __stdcall META_TDMB_SelService_r(const int meta_handle, unsigned int ms_timeout, TDMB_SEL_SERVICE_REQ_T *req);
  1537. META_RESULT __stdcall META_TDMB_SelService(unsigned int ms_timeout, TDMB_SEL_SERVICE_REQ_T *req, const META_TDMB_SEL_SERV_CNF  cnf_cb);
  1538. META_RESULT __stdcall META_TDMB_SelService_r(const int meta_handle, unsigned int ms_timeout, TDMB_SEL_SERVICE_REQ_T *req, const META_TDMB_SEL_SERV_CNF  cnf_cb);
  1539. //META_RESULT __stdcall META_TDMB_SetIdle(unsigned int ms_timeout);
  1540. //META_RESULT __stdcall META_TDMB_SetIdle_r(const int meta_handle, unsigned int ms_timeout);
  1541. META_RESULT __stdcall META_TDMB_SetIdle(unsigned int ms_timeout, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg);
  1542. META_RESULT __stdcall META_TDMB_SetIdle_r(const int meta_handle, unsigned int ms_timeout, CALLBACK_META_FAT_PROGRESS  cb_progress, void  *cb_progress_arg);
  1543. META_RESULT __stdcall META_TDMB_TurnOff(unsigned int ms_timeout);
  1544. META_RESULT __stdcall META_TDMB_TurnOff_r(const int meta_handle, unsigned int ms_timeout);
  1545. META_RESULT __stdcall META_TDMB_GetEnsm(unsigned int ms_timeout, TDMB_GET_ENSM_CNF_T *cnf);
  1546. META_RESULT __stdcall META_TDMB_GetEnsm_r(const int meta_handle, unsigned int ms_timeout, TDMB_GET_ENSM_CNF_T *cnf);
  1547. META_RESULT __stdcall META_TDMB_SelServiceOnly( unsigned int ms_timeout, TDMB_SEL_SERVICE_ONLY_REQ_T *req);
  1548. META_RESULT __stdcall META_TDMB_SelServiceOnly_r(const int meta_handle, unsigned int ms_timeout, TDMB_SEL_SERVICE_ONLY_REQ_T *);
  1549. #ifdef __cplusplus
  1550. }
  1551. #endif
  1552. #endif