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

📄 smi_dmy.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 4 页
字号:
     * with too many cases, the assembler produces
     * failures)
     */
    case KSD_TS_PLMN7:
      TRACE_EVENT ("Tele     : PLMN specifc tele service 7");
      break;
    case KSD_TS_PLMN8:
      TRACE_EVENT ("Tele     : PLMN specifc tele service 8");
      break;
    case KSD_TS_PLMN9:
      TRACE_EVENT ("Tele     : PLMN specifc tele service 9");
      break;
    case KSD_TS_PLMNA:
      TRACE_EVENT ("Tele     : PLMN specifc tele service 10");
      break;
    case KSD_TS_PLMNB:
      TRACE_EVENT ("Tele     : PLMN specifc tele service 11");
      break;
    case KSD_TS_PLMNC:
      TRACE_EVENT ("Tele     : PLMN specifc tele service 12");
      break;
    case KSD_TS_PLMND:
      TRACE_EVENT ("Tele     : PLMN specifc tele service 13");
      break;
    case KSD_TS_PLMNE:
      TRACE_EVENT ("Tele     : PLMN specifc tele service 14");
      break;
    case KSD_TS_PLMNF: 
      TRACE_EVENT ("Bearer   : PLMN specifc tele service 15");
      break;
  }
}
#endif /* FAC_TRACE */
 

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)              MODULE  : ACI_RET            |
| STATE   : code                        ROUTINE : smi_trace_bs_ts    |
+--------------------------------------------------------------------+

  PURPOSE : Traces Bearer or Teleservice

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_bs_ts (UBYTE bsTp, UBYTE bsCd)
{
  switch (bsTp)
  {
    case KSD_BS_TP_None:
      TRACE_EVENT ("BS-TS Typ: Not available");
      break;
    case KSD_BS_TP_Tele:
      TRACE_EVENT ("BS-TS Typ: Tele Service");
      smi_trace_ts (bsCd);
      break;
    case KSD_BS_TP_Bearer:
      TRACE_EVENT ("BS-TS Typ: Bearer Service");
      smi_trace_bs (bsCd);
      break;
  }
}
#endif /* FAC_TRACE */

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)              MODULE  : ACI_RET            |
| STATE   : code                        ROUTINE : smi_trace_ton      |
+--------------------------------------------------------------------+

  PURPOSE : Trace type of number

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_ton (UBYTE ton)
{
  switch (ton)
  {
    case TON_NotPresent:
      TRACE_EVENT ("TON      : Not available");
      break;
    case TON_Unknown:
      TRACE_EVENT ("TON      : unknown");
      break;
    case TON_International:
      TRACE_EVENT ("TON      : international");
      break;
    case TON_National:
      TRACE_EVENT ("TON      : national");
      break;
    case TON_NetSpecific:
      TRACE_EVENT ("TON      : Network specific");
      break;
    case TON_DedAccess:
      TRACE_EVENT ("TON      : Dedicated Access");
      break;
  }
}
#endif /* FAC_TRACE */

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)              MODULE  : ACI_RET            |
| STATE   : code                        ROUTINE : smi_trace_npi      |
+--------------------------------------------------------------------+

  PURPOSE : Trace Numbering plan identifier

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_npi (UBYTE npi)
{
  switch (npi)
  {
    case NPI_NotPresent:
      TRACE_EVENT ("NPI      : Not available");
      break;
    case NPI_Unknown:
      TRACE_EVENT ("NPI      : unknown");
      break;
    case NPI_IsdnTelephony:
      TRACE_EVENT ("NPI      : ISDN Telephony");
      break;
    case NPI_Data:
      TRACE_EVENT ("NPI      : Data");
      break;
    case NPI_Telex:
      TRACE_EVENT ("NPI      : Telex");
      break;
    case NPI_National:
      TRACE_EVENT ("NPI      : National");
      break;
    case NPI_Private:
      TRACE_EVENT ("NPI      : Private");
      break;
  }
}
#endif /* FAC_TRACE */

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)              MODULE  : ACI_RET            |
| STATE   : code                        ROUTINE : smi_trace_tos      |
+--------------------------------------------------------------------+

  PURPOSE : Trace Type of Subaddress

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_tos (UBYTE tos)
{
  switch (tos)
  {
    case TOS_NotPresent:
      TRACE_EVENT ("TOS      : Not available");
      break;
    case TOS_Nsap:
      TRACE_EVENT ("TOS      : NSAP");
      break;
    case TOS_User:
      TRACE_EVENT ("TOS      : User defined");
      break;
  }
}
#endif /* FAC_TRACE */


/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : ACI_RET              |
| STATE   : code                      ROUTINE : smi_trace_cf_feature |
+--------------------------------------------------------------------+

  PURPOSE : Traces the Call Forwarding Feature

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_cf_feature (T_CF_FEAT * feature)
{
  char buf[60];
  TRACE_EVENT ("----------------------------------------");

  smi_trace_bs_ts (feature->bsTp, feature->bsCd);
  smi_trace_ss_status (feature->ssSt);
  if (strlen ((CHAR*)feature->num) NEQ 0)
  {
    sprintf (buf, "Number   : %s", feature->num);
    TRACE_EVENT (buf);
    smi_trace_ton (feature->ton);
    smi_trace_npi (feature->npi);
  }
  if (strlen ((CHAR*)feature->sub) NEQ 0)
  {
    sprintf (buf, "Subaddr  : %s", feature->sub);
    TRACE_EVENT (buf);
    smi_trace_tos (feature->tos);
  }
}
#endif /* FAC_TRACE */

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : ACI_RET              |
| STATE   : code                      ROUTINE : smi_trace_cw_feature |
+--------------------------------------------------------------------+

  PURPOSE : Traces the Call Waiting Feature

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_cw_feature (T_Cx_BSG * feature)
{
  TRACE_EVENT ("----------------------------------------");

  smi_trace_bs_ts (feature->bsTp, feature->bsCd);
}
#endif /* FAC_TRACE */

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)            MODULE  : ACI_RET              |
| STATE   : code                      ROUTINE : smi_trace_cb_feature |
+--------------------------------------------------------------------+

  PURPOSE : Traces the Call Barring Feature

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_cb_feature (T_CB_INFO * feature)
{
  TRACE_EVENT ("----------------------------------------");

  smi_trace_bs_ts (feature->bsTp, feature->bsCd);
  smi_trace_ss_status (feature->ssSt);
}
#endif /* FAC_TRACE */

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)              MODULE  : ACI_RET            |
| STATE   : code                        ROUTINE : smi_trace_ovr_ctg  |
+--------------------------------------------------------------------+

  PURPOSE : Traces the Override Category

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_ovr_ctg (UBYTE ovr_ctg)
{
  switch (ovr_ctg)
  {
    case KSD_OVR_CAT_NOT_VALID:
      TRACE_EVENT ("Ovr cat  : Not available");
      break;
    case KSD_OVR_CAT_ENABLED:
      TRACE_EVENT ("Ovr cat  : Enabled");
      break;
    case KSD_OVR_CAT_DISABLED:
      TRACE_EVENT ("Ovr cat  : Disabled");
      break;
  }
}
#endif /* FAC_TRACE */

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)              MODULE  : ACI_RET            |
| STATE   : code                        ROUTINE : smi_trace_ss_codes |
+--------------------------------------------------------------------+

  PURPOSE : Traces the SS code

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_ss_codes (UBYTE ss_code)
{
  switch (ss_code)
  {
    case KSD_SS_NONE:
      TRACE_EVENT ("SS Code  : not present");
      break;
    case KSD_SS_CLIP:
      TRACE_EVENT ("SS Code  : CLIP");
      break;
    case KSD_SS_CLIR:
      TRACE_EVENT ("SS Code  : CLIR");
      break;
    case KSD_SS_COLP:
      TRACE_EVENT ("SS Code  : COLP");
      break;
    case KSD_SS_COLR:
      TRACE_EVENT ("SS Code  : COLR");
      break;
    case KSD_SS_ALL_FWSS:
      TRACE_EVENT ("SS Code  : All Forwarding SS");
      break;
    case KSD_SS_CFU:
      TRACE_EVENT ("SS Code  : CF unconditional");
      break;
    case KSD_SS_ALL_CFWSS:
      TRACE_EVENT ("SS Code  : All conditional CF SS");
      break;
    case KSD_SS_CFB:
      TRACE_EVENT ("SS Code  : CF on MS busy");
      break;
    case KSD_SS_CFNRY:
      TRACE_EVENT ("SS Code  : CF on no reply");
      break;
  }

  switch (ss_code)
  {
    /*
     * this construct needed due to a bug in
     * the target compiler (don磘 use switch
     * with too many cases, the assembler produces
     * failures)
     */
    case KSD_SS_CFNRC:
      TRACE_EVENT ("SS Code  : CF on MS not reachable");
      break;
    case KSD_SS_CW:
      TRACE_EVENT ("SS Code  : Call Waiting");
      break;
    case KSD_SS_CCBS:
      TRACE_EVENT ("SS Code  : Completion of call to busy MS");
      break;
    case KSD_SS_ALL_CBSS:
      TRACE_EVENT ("SS Code  : All barring SS");
      break;
    case KSD_SS_BOC:
      TRACE_EVENT ("SS Code  : barring of outgoing calls");
      break;
    case KSD_SS_BAOC:
      TRACE_EVENT ("SS Code  : barring of all outgoing calls");
      break;
    case KSD_SS_BOIC:
      TRACE_EVENT ("SS Code  : barring of outging international calls");
      break;
    case KSD_SS_BOICXH:
      TRACE_EVENT ("SS Code  : barring of outgoing int. calls ex. HPLMN");
      break;
    case KSD_SS_BIC:
      TRACE_EVENT ("SS Code  : barring of incoming calls");
      break;
    case KSD_SS_BAIC:
      TRACE_EVENT ("SS Code  : barring of all incoming calls");
      break;
  }

  switch (ss_code)
  {
    /*
     * this construct needed due to a bug in
     * the target compiler (don磘 use switch
     * with too many cases, the assembler produces
     * failures)
     */
    case KSD_SS_BICRM:
      TRACE_EVENT ("SS Code  : barring of incoming calls when roaming");
      break;
    case KSD_SS_PIN1:
      TRACE_EVENT ("SS Code  : PIN 1");
      break;
    case KSD_SS_PIN2:
      TRACE_EVENT ("SS Code  : PIN 2");
      break;
  }
}
#endif /* FAC_TRACE */

/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411)              MODULE  : ACI_RET            |
| STATE   : code                        ROUTINE : smi_trace_ss_error |
+--------------------------------------------------------------------+

  PURPOSE : Traces the SS error

*/
#ifdef FAC_TRACE
LOCAL void smi_trace_ss_error (UBYTE ss_error)
{
  switch (ss_error)
  {
    case KSD_NO_ERROR:
      TRACE_EVENT ("SS Error : No Error");
      break;
    case KSD_ERR_UNKNOWN_SUBSCRIBER:
      TRACE_EVENT ("SS Error : Unknown Subscriber");
      break;
    case KSD_ERR_ILLEGAL_SUBSCRIBER:
      TRACE_EVENT ("SS Error : Illegal Subscriber");
      break;
    case KSD_ERR_BEARER_SVC_NOT_PROV:
      TRACE_EVENT ("SS Error : Bearer Service not provisioned");
      break;
    case KSD_ERR_TELE_SVC_NOT_PROV:
      TRACE_EVENT ("SS Error : Tele Service not provisioned");
      break;
    case KSD_ERR_ILLEGAL_EQUIPMENT:
      TRACE_EVENT ("SS Error : Illegal Equipment");
      break;
    case KSD_ERR_CALL_BARRED:
      TRACE_EVENT ("SS Error : Call Barred");
      break;
    case KSD_ERR_ILLEGAL_SS_OPERATION:
      TRACE_EVENT ("SS Error : Illegal SS Operation");
      break;
    case KSD_ERR_SS_ERR_STATUS:
      TRACE_EVENT ("SS Error : SS Error Status");
      break;
    case KSD_ERR_SS_NOT_AVAIL:
      TRACE_EVENT ("SS Error : SS not available");
      break;
  }

  switch (ss_error)
  {
    /*
     * this construct needed due to a bug in
     * the target compiler (don磘 use switch
     * with too many cases, the assembler produces
     * failures)
     */
    case KSD_ERR_SS_SUBS_VIOLATION:
      TRACE_EVENT ("SS Error : SS Subscriber Violation");
      break;
    case KSD_ERR_SS_INCOMP:
      TRACE_EVENT ("SS Error : SS Incompatibility");

⌨️ 快捷键说明

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