Files
banban/ql-kernel/threadx/common/include/ql_dev.h

316 lines
9.3 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*================================================================
Copyright (c) 2021, Quectel Wireless Solutions Co., Ltd. All rights reserved.
Quectel Wireless Solutions Proprietary and Confidential.
=================================================================*/
#ifndef _QL_DEV_H
#define _QL_DEV_H
typedef enum
{
QL_DEV_SIM_0,
QL_DEV_SIM_1,
QL_NUM_OF_DEV_SIM,
}QL_Dev_SimID;
typedef enum
{
QL_DEV_SUCCESS,
QL_DEV_GENERIC_FAILURE,
}QL_DEV_ERROR_CODE;
typedef enum
{
QL_DEV_MODEM_MIN_FUN = 0 , //modem最小功能
QL_DEV_MODEM_FULL_FUN, //modem全功能
QL_DEV_MODEM_DISABLE_RECEIVE_RF_CIRCUITS=3, //modem关闭射频接收电路
QL_DEV_MODEM_DISABLE_TRANSMIT_AND_RECEIVE_RF_CIRCUITS, //modem关闭射频发射和接收电路
QL_DEV_MODEM_DISABLE_SIM, //modem关闭 SIM卡
QL_DEV_MODEM_TURN_OFF_FULL_SECONDARY_RECEIVE, //modem完全关闭辅助接收
}QL_DEV_MODEM_FUNCTION;
typedef enum
{
QL_DEV_SN2_PARAM_ERROR = -1, //传参长度为0或者NULL
QL_DEV_SN2_OVERLENGTH = -2, //传入的长度过长
}QL_DEV_SN2_ERROR_CODE;
/*****************************************************************
* Function: ql_dev_get_model
*
* Description:
* 获取设备型号。
*
* Parameters:
* model [out] 设备型号,字符串。
* model_len [in] model 数组的长度。
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_model(char*model,unsigned int model_len);
/*****************************************************************
* Function: ql_dev_get_sn
*
* Description:
* 获取设备 SN。
*
* Parameters:
* sn [out] 设备 SN,字符串。
* sn_len [in] sn 数组的长度
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_sn(char*sn, unsigned int sn_len);
/*****************************************************************
* Function: ql_dev_set_modem_fun
*
* Description:
* 设置设备的 modem 功能。
*
* Parameters:
* function [in] 需要设置的 modem 功能,见 4.1 QL_DEV_MODEM_FUNCTION。
* rst [in] 设置 modem 功能前,是否重启 modem。0:不重启;1:重启。
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_set_modem_fun(QL_DEV_MODEM_FUNCTION function,int rst);
/*****************************************************************
* Function: ql_dev_get_modem_fun
*
* Description:
* 获取设备的 modem 当前的功能。
*
* Parameters:
* function [out] 返回设备的 modem 当前的功能,值含义见 4.1 QL_DEV_MODEM_FUNCTION。
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_modem_fun(int* function);
/*****************************************************************
* Function: ql_dev_get_firmware_version
*
* Description:
* 获取设备的固件版本。
*
* Parameters:
* version [out] 设备的固件版本,字符串。
* version_len [in] version 数组的长度
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_firmware_version(char *version,unsigned int version_len);
/*****************************************************************
* Function: ql_dev_get_imei
*
* Description:
* 获取设备的 IMEI。
*
* Parameters:
* imei [out] 设备的 IMSI,字符串。
* imei_len [in] imei 数组的长度。
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_imei(char *imei,unsigned int imei_len);
/*****************************************************************
* Function: ql_dev_get_imei_by_simid
*
* Description:
* 获取设备的 IMEI。
*
* Parameters:
* simid [in] SIM卡号
* imei [out] 设备的 IMSI,字符串。
* imei_len [in] imei 数组的长度。
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_imei_by_simid(QL_Dev_SimID simid,char *imei,unsigned int imei_len);
/*****************************************************************
* Function: ql_dev_get_firmware_version
*
* Description:
* 获取客户设备的固件版本。
*
* Parameters:
* version [out] 客户设备的固件版本,字符串。
* version_len [in] version 数组的长度
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_cust_firmware_version(char *version,unsigned int version_len);
/*****************************************************************
* Function: ql_dev_get_cpu_uid
*
* Description:
* 获取设备的cpu_uid。
*
* Parameters:
* uid_ret [in] 用于保存设备的cpu_uid。
*
* Return:
* 无。
*
*****************************************************************/
void ql_dev_get_cpu_uid(unsigned long long * uid_ret);
/*****************************************************************
* Function: ql_dev_get_product_id
*
* Description:
* 获取设备的制造商 id。
*
* Parameters:
* product_id [out] 返回设备的制造商 id。
* product_id_len [in] 需要获取的制造商id的长度。此长度必须小于或者等于product_id所能存储的长度
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_product_id(char* product_id,unsigned int product_id_len);
/*****************************************************************
* Function: ql_dev_get_qverinfo
*
* Description:
* 在APP测实现获取系统的Release_Version、DSP、RF版本号。
*
* Parameters:
* release_version [in] 用于存放系统的版本号。
* len    [out] 版本号数组的长度
*
* Return:
* len 成功,返回版本号总长度。
* -1 失败。
*
*****************************************************************/
int ql_dev_get_qverinfo( char *release_version,unsigned int len);
/*****************************************************************
* Function: ql_dev_get_hw_version
*
* Description:
恒科定制
* 获取硬件版本号。
*
* Parameters:
* hw_version [out] 设备 hw_version,字符串。
* hw_len [in] hw_version 数组的长度
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
int ql_dev_get_hw_version(char* hw_version, unsigned int hw_len);
/*****************************************************************
* Function: ql_dev_get_mac
*
* Description:
* 获取客户设备的 MAC 号 (17个字节 )。
*
* Parameters:
* mac_val [in] 存放MAC的buffer,传入的buffer至少17个字节。
* version_len [in] MAC号长度;为17个字节
*
* Return:
* 0 成功。
* -1 失败。
*
*****************************************************************/
int ql_dev_get_mac(unsigned char *mac_val,unsigned int len);
/*****************************************************************
* Function: ql_dev_get_sn_1
*
* Description:
* 获取设备 SN。
*
* Parameters:
* sn [out] sn1输出到的数组
* sn_len [in] 需要获取的sn1号长度,长度不限,但最多返回30字节
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_get_sn_1(char*sn, unsigned int sn_len);
/*****************************************************************
* Function: ql_dev_get_sn_2
*
* Description:
恒科定制
* 获取设备 SN2。
*
* Parameters:
* sn2 [out] sn2输出到的数组
* sn_len [in] 需要获取的sn2号长度
*
* Return:
* 当输入的sn_len <= 28时,返回sn_len
* 当输入的sn_len > 28时,返回-2
* 当输出的数组 == NULL || sn_len == 0时,返回-1
*
*****************************************************************/
int ql_dev_get_sn_2(char* sn2, unsigned int sn_len);
/*****************************************************************
* Function: ql_dev_set_imei
*
* Description:
* 设置设备IMEI。
*
* Parameters:
* password [in] 操作密码,需填写正确的密码才允许设置imei
* imei [in] 需要设置的imei
* imei_len [in] 输入的imei长度
*
* Return:
* QL_DEV_SUCCESS 成功。
* QL_DEV_GENERIC_FAILURE 失败。
*
*****************************************************************/
QL_DEV_ERROR_CODE ql_dev_set_imei(char * password, char * imei,unsigned int imei_len);
#endif