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

📄 mfw_gprs.c

📁 GSM手机设计软件代码
💻 C
📖 第 1 页 / 共 4 页
字号:
   PURPOSE : Set the Quality of Service Profile for the context              specified by cid. The Quality of Service Profile is given              in the pointer parameter qos.   PARAMETERS :             cid      : context ID            *inputQos : quality of service data*/T_MFW_RES gprs_setQOS(SHORT cid ,T_QOS *inputQos){  T_MFW_GPRS_CONTEXT *cntxt;   TRACE_FUNCTION ("gprs_setQOS()");  /*   * ACI call   */  if(sAT_PlusCGQREQ(CMD_SRC_LCL, cid, inputQos) == AT_FAIL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGQREQ failed");    return MFW_RES_ERR;  }  /*   * change qos data in MFW GPRS data   */  cntxt = (T_MFW_GPRS_CONTEXT *) mfwAlloc(sizeof(T_MFW_GPRS_CONTEXT));  cntxt->id = cid;  memcpy (&(cntxt->data.qos), inputQos, sizeof (T_QOS));  gprs_signal(E_MFW_GPRS_S_QOS, cntxt);  return MFW_RES_OK;}/*+---------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS             || STATE  : code                         ROUTINE: gprs_setQOSMin       |+---------------------------------------------------------------------+   PURPOSE : Set the minimum acceptable Quality of Service Profile for              the context specified by cid.   PARAMETERS :             cid      : context ID            *inputQos : quality of service data*/T_MFW_RES gprs_setQOSMin(SHORT cid ,T_QOS *inputQos){  T_MFW_GPRS_CONTEXT *cntxt;   TRACE_FUNCTION ("gprs_setQOSMin()");  /*   * ACI call   */  if (sAT_PlusCGQMIN(CMD_SRC_LCL, cid, inputQos) == AT_FAIL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGQMIN failed");    return MFW_RES_ERR;  }  /*   * change mininum acceptable qos data in MFW GPRS data   */  cntxt = (T_MFW_GPRS_CONTEXT *) mfwAlloc(sizeof(T_MFW_GPRS_CONTEXT));  cntxt->id = cid;  memcpy (&(cntxt->data.min_qos), inputQos, sizeof (T_QOS));  gprs_signal(E_MFW_GPRS_S_QOS_MIN, cntxt);  return MFW_RES_OK;}/*+---------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS             || STATE  : code                         ROUTINE: gprs_attach          |+---------------------------------------------------------------------+   PURPOSE : Attach to or detach from the GPRS Service. The parameter              state indicates the state of GPRS attchement    PARAMETERS :             state    : attachement state ( 0 - detached, 1 - attached)*/T_MFW_RES gprs_attach(T_CGATT_STATE state){  T_ACI_RETURN result;    TRACE_FUNCTION ("gprs_attach()");  /*   * ACI call   * SPR#1574 - SH - Don't return fail for AT_CMPL result   */  result = sAT_PlusCGATT(CMD_SRC_LCL, state);  if ( result!= AT_EXCT && result!=AT_CMPL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGATT failed");    return MFW_RES_ERR;  	}    /*   * change attachement state in MFW GPRS data   */  gprs_signal(E_MFW_GPRS_S_ATT, &state);  return MFW_RES_OK;}/*+---------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS            || STATE  : code                         ROUTINE: gprs_attach_abort       |+---------------------------------------------------------------------+   PURPOSE : Cancel attachment to or detachment from GPRS service   SPR#1983 - SH - Added.                 PARAMETERS : None.   */T_MFW_RES gprs_attach_abort(void){	T_ACI_RETURN result;	TRACE_EVENT("gprs_attach_abort()");		result = sAT_Abort(CMD_SRC_LCL, AT_CMD_CGATT);	if (result==AT_FAIL)		return MFW_RES_ERR;	return MFW_RES_OK;}/*+----------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS              || STATE  : code                         ROUTINE: gprs_contextActivation|+----------------------------------------------------------------------+   PURPOSE : Activate or Deactivate PDP contexts. The parameter state              indicates the state of GPRS activation.             The parameter cids points to a list of contexts definitions.              If the list is empty all contexts will be attached or              detached. If the mobile is not attached before, a GPRS              attach is first performed.    PARAMETERS :             state    : activation state ( 0 - deactivated, 1 - activated)             cids     : list of contexts*/T_MFW_RES gprs_contextActivation(T_CGACT_STATE state, SHORT *cids){  T_MFW_GPRS_CNTXT_ACT *cntxtAct;   TRACE_FUNCTION ("gprs_contextActivation()");  /*   * ACI call   */  if (sAT_PlusCGACT(CMD_SRC_LCL, state, cids) == AT_FAIL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGCACT failed");    return MFW_RES_ERR;  }  /*   * change context activation data in MFW GPRS data   */  cntxtAct = (T_MFW_GPRS_CNTXT_ACT *) mfwAlloc(sizeof(T_MFW_GPRS_CNTXT_ACT));  memcpy (&(cntxtAct->ids), cids, sizeof (SHORT));  cntxtAct->state = state;  gprs_signal(E_MFW_GPRS_S_ACT, cntxtAct);  return MFW_RES_OK;}/*+---------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS             || STATE  : code                         ROUTINE: gprs_setData         |+---------------------------------------------------------------------+   PURPOSE : Enter data state. Whatever actions are necessary to              establish communication between the TE and the network              will be performed (e.g. attach, context activate)   PARAMETERS :             L2P      : Layer 2 protocoll             cids     : list of contexts*/T_MFW_RES gprs_setData(char *L2P, SHORT *cids){  T_MFW_GPRS_CNTXT_L2P *cntxtL2P;   TRACE_FUNCTION ("gprs_setData()");  /*   * ACI call   */  if (sAT_PlusCGDATA(CMD_SRC_LCL, L2P, cids) == AT_FAIL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGDATA failed");    return MFW_RES_ERR;  }  /*   * change attachement, activation and L2P data in MFW GPRS data   */  cntxtL2P = (T_MFW_GPRS_CNTXT_L2P *) mfwAlloc(sizeof(T_MFW_GPRS_CNTXT_L2P));  cntxtL2P->L2P = (char *)  mfwAlloc(sizeof(char) * strlen(L2P));  cntxtL2P->ids = (USHORT *) mfwAlloc(sizeof(SHORT) * MAX_CID);  memcpy (cntxtL2P->L2P, L2P, sizeof (CHAR) * strlen(L2P));  memcpy (cntxtL2P->ids, cids, sizeof (SHORT));  gprs_signal(E_MFW_GPRS_S_DATA, cntxtL2P);  mfwFree( (void *) cntxtL2P->L2P, sizeof(char) * strlen(L2P));  mfwFree( (void *) cntxtL2P->ids, sizeof(SHORT) * MAX_CID);  return MFW_RES_OK;}/*+-----------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS               || STATE  : code                         ROUTINE: gprs_showPDPAddress    |+-----------------------------------------------------------------------+   PURPOSE : Show PDP address. The Function sets the pointer pdp_adress              to a list of PDP addresses for the specified context              identifiers in the parameter cids.   PARAMETERS :             pdp_address: list of contexts      RETURNS:             MFW_RES_OK:  On success       MFW_RES_ERR: On failure*/T_MFW_RES gprs_showPDPAddress(SHORT *cids, T_PDP_ADDRESS *pdp_address){  int i;  T_MFW_GPRS_CONTEXT *cntxt;   TRACE_FUNCTION ("gprs_showPDPAddress()");  /*   * ACI call, get PDP addresses   */  if (sAT_PlusCGPADDR(CMD_SRC_LCL, cids, pdp_address) == AT_FAIL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGPADDR failed");    return MFW_RES_ERR;  }  /*   * change PDP address data in MFW GPRS data   */  cntxt = (T_MFW_GPRS_CONTEXT *) mfwAlloc(sizeof(T_MFW_GPRS_CONTEXT));  for (i=0; i < MAX_CID; i++)  {    cntxt->id = cids[i];    memcpy (&(cntxt->data.pdp_addr), pdp_address[i], sizeof (T_PDP_ADDRESS));    gprs_signal(E_MFW_GPRS_S_PDPADDR, cntxt);  }  return MFW_RES_OK;}/*+----------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS              || STATE  : code                         ROUTINE: gprs_setAutoResponse  |+----------------------------------------------------------------------+   PURPOSE : Enable or Disable an automatic positive response to the              receipt of Context Activation Requests from the network.              The parameter mode indicates if the automatic response will              be enabled or disabled.   PARAMETERS :             mode : mode of auto response*/T_MFW_RES gprs_setAutoResponse(T_CGAUTO_N mode){  TRACE_FUNCTION ("gprs_setAutoResponse()");  /*   * ACI call   */  if (sAT_PlusCGAUTO(CMD_SRC_LCL, mode) == AT_FAIL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGAUTO failed");    return MFW_RES_ERR;  }  /*   * change auto response mode in MFW GPRS data   */  gprs_signal(E_MFW_GPRS_S_AUTORESP, &mode);  return MFW_RES_OK;}/*+----------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS              || STATE  : code                         ROUTINE: gprs_ManualResponse   |+----------------------------------------------------------------------+   PURPOSE : This Function is for a manual response to network request              for PDP context activation. The parameter response              indicates if the request will be accepted or rejected.   PARAMETERS :             response : ( 0 - rejected, 1 - accepted)*/T_MFW_RES gprs_ManualResponse(USHORT response, char *l2p, SHORT cid){  TRACE_FUNCTION ("gprs_ManualResponse()");  /*   * send signal to current MFW element   */  gprs_signal(E_MFW_GPRS_S_ANS, &cid);  /*   * ACI call   */  if (sAT_PlusCGANS(CMD_SRC_LCL, response, l2p, cid) == AT_FAIL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGANS failed");    return MFW_RES_ERR;  }  return MFW_RES_OK;}/*+----------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS              || STATE  : code                         ROUTINE: gprs_setClass         |+----------------------------------------------------------------------+   PURPOSE : Set the mobile to operate according to a GPRS mobile class.    PARAMETERS :             m_class : GPRS mobile class*/T_MFW_RES gprs_setClass(T_CGCLASS_CLASS new_cls){  T_CGATT_STATE state;  TRACE_FUNCTION ("gprs_setClass()");  /*   * ACI call   */  if (sAT_PlusCGCLASS(CMD_SRC_LCL, new_cls) == AT_FAIL)  {  TRACE_EVENT("MFW_GPRS: Error. sAT_PlusCGCLASS failed");    return MFW_RES_ERR;  }  /*   * change class data in MFW GPRS data   */  gprs_signal(E_MFW_GPRS_S_CLASS, &new_cls);  /*   * check if attachement mode has changed while class change   */  if (qAT_PlusCGATT(CMD_SRC_LCL, &state) != AT_FAIL )    gprs_signal(E_MFW_GPRS_S_ATT, &state);  else  TRACE_EVENT("MFW_GPRS: Error. qAT_PlusCGATT failed");  return MFW_RES_OK;}/*+----------------------------------------------------------------------+| PROJECT: MMI-Framework (8417)         MODULE:  MFW_GPRS              || STATE  : code                         ROUTINE: gprs_setEventReporting|+----------------------------------------------------------------------+

⌨️ 快捷键说明

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