Linux SDK (lite-qmi)  MBPL_SDK_R25_ENG3
#include <stdint.h>
#include <stdbool.h>
#include "switype_256bit.h"

Go to the source code of this file.

Data Structures

struct  pack_qmi_t
 
struct  unpack_qmi_t
 
struct  unpack_result_t
 

Macros

#define SDU_HDR_LEN   (3)
 
#define MINREQBKLEN   (2048)
 
#define MSGID_AND_LEN   (4)
 
#define MSGID_DONT_CARE   (0xffff)
 
#define UNUSEDPARAM(x)   (void)x
 
#define DEAULT_LOC_TIMEOUT_IN_SEC   2
 
#define SDK_VALIDATE_INPUT_PACK_PARAM(pCtx, pBuf, pLen)
 
#define SDK_VALIDATE_INPUT_PACK_PARAM_AND_FILL_XID(pCtx, pBuf, pLen)
 
#define SDK_VALIDATE_INPUT_UNPACK_PARAM(pResp, respLen, pOutput)
 
#define SWI_INIT_UNPACK_RESULT_VALUE   {0, SWI_UINT256_INT_VALUE}
 

Typedefs

typedef void(* logger) (uint8_t lvl, const char *buff,...)
 

Enumerations

enum  eLOG_LEVEL {
  eLOG_INFO, eLOG_DEBUG, eLOG_WARN, eLOG_ERROR,
  eLOG_FATAL
}
 
enum  eTimeout {
  eTIMEOUT_2_S = 2000, eTIMEOUT_5_S = 5000, eTIMEOUT_8_S = 8000, eTIMEOUT_10_S = 10000,
  eTIMEOUT_20_S = 20000, eTIMEOUT_30_S = 30000, eTIMEOUT_60_S = 60000, eTIMEOUT_300_S = 300000,
  eTIMEOUT_DEFAULT = eTIMEOUT_8_S
}
 
enum  eQMI_SVC {
  eCTL =0, eWDS =0x01, eDMS =0x02, eNAS =0x03,
  eQOS =0x04, eSMS =0x05, eCAT =0x0A, eUIM =0x0B,
  eLOC =0x10, eSAR =0x11, eIMS =0x12, eTS =0x17,
  eTMD =0x18, eWDA =0x1A, eIMSA =0x21, eDSD =0x2A,
  eRMS =225, eSWILOC =246, eSWINAS =252, eSWIDMS =254
}
 
enum  msgtype { eREQ =0, eRSP =2, eIND =4 }
 

Functions

uint16_t helper_get_xid (uint8_t *qmi_resp)
 
uint16_t helper_get_msgid (uint8_t *qmi_resp)
 
uint16_t helper_get_error_code (uint8_t *qmi_resp)
 
char * helper_get_error_reason (uint16_t retVal)
 
const char * helper_get_resp_ctx (uint8_t svc, uint8_t *pbuf, uint16_t len, unpack_qmi_t *pCtx)
 
const char * helper_get_req_str (uint8_t svc, uint8_t *req, uint32_t len)
 
unsigned unpack_result_code_only (uint8_t *pMdmResp)
 
int helper_set_log_func (logger func)
 
void liteqmi_log (uint8_t lvl, const char *fmt,...)
 
int helper_set_log_lvl (uint8_t lvl)
 
void fill_sdu_hdr (pack_qmi_t *pCtx, uint8_t *pReqBuf)
 
void fill_pack_ctx (pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, uint8_t svc, int timeout)
 
char * get_version ()
 
char * liteqmi_GetVersion ()
 
void liteqmi_helper_decode7bitAsciiEncString (uint8_t *encoded_str, uint8_t encoded_len, uint8_t *decoded_str)
 
int helper_isBootLoader_DebugEnabled (const char *szPath, const char *pQsn)
 

Variables

logger glog
 
uint8_t gloglvl
 

Macro Definition Documentation

◆ SDK_VALIDATE_INPUT_PACK_PARAM

#define SDK_VALIDATE_INPUT_PACK_PARAM (   pCtx,
  pBuf,
  pLen 
)
Value:
if ((pCtx == NULL) || (pBuf == NULL) || (pLen == NULL) ) \
{\
liteqmi_log(eLOG_DEBUG,"[ pack] %s parameter NULL\n",__func__); \
return eQCWWAN_ERR_INVALID_ARG; \
}

◆ SDK_VALIDATE_INPUT_PACK_PARAM_AND_FILL_XID

#define SDK_VALIDATE_INPUT_PACK_PARAM_AND_FILL_XID (   pCtx,
  pBuf,
  pLen 
)
Value:
if ((pCtx == NULL) || (pBuf == NULL) || (pLen == NULL) ) \
{\
liteqmi_log(eLOG_DEBUG,"[ pack] %s parameter NULL\n",__func__); \
return eQCWWAN_ERR_INVALID_ARG; \
} \
if (pCtx->xid == 0) \
return eQCWWAN_ERR_INVALID_XID; \
pBuf[0] = eREQ; \
pBuf[1] = pCtx->xid & 0xff; \
pBuf[2] = pCtx->xid >> 8;

◆ SDK_VALIDATE_INPUT_UNPACK_PARAM

#define SDK_VALIDATE_INPUT_UNPACK_PARAM (   pResp,
  respLen,
  pOutput 
)
Value:
if ((pResp == NULL) || (respLen == 0) || (pOutput == NULL) ) \
{\
liteqmi_log(eLOG_DEBUG,"[ unpack] %s parameter NULL or invalid\n",__func__); \
return eQCWWAN_ERR_INVALID_ARG; \
}

Enumeration Type Documentation

◆ eTimeout

enum eTimeout

eTimeout