📄 smi_dmy.c
字号:
/*
+-----------------------------------------------------------------------------
| Project : GSM-F&D (8411)
| Modul : SMI_DMY
+-----------------------------------------------------------------------------
| Copyright 2002 Texas Instruments Berlin, AG
| All rights reserved.
|
| This file is confidential and a trade secret of Texas
| Instruments Berlin, AG
| The receipt of or possession of this file does not convey
| any rights to reproduce or disclose its contents or to
| manufacture, use, or sell anything it may describe, in
| whole, or in part, without the specific written consent of
| Texas Instruments Berlin, AG.
+-----------------------------------------------------------------------------
| Purpose : This module is used to implement all callback functions
| which are not yet supported by the SMI.
+-----------------------------------------------------------------------------
*/
#ifndef SMI_DMY_C
#define SMI_DMY_C
#endif
#define ENTITY_SMI
/*==== INCLUDES ===================================================*/
#include <stdio.h>
#include <string.h>
#include "typedefs.h"
#include "vsi.h"
#include "custom.h"
#include "gsm.h"
#include "prim.h"
#include "tok.h"
#include "message.h"
#include "aci_cmh.h"
#include "ksd.h"
#include "aca.h"
#include "smi.h"
/*==== CONSTANTS ==================================================*/
#undef FAC_TRACE /* Facility Trace */
/*==== TYPES ======================================================*/
/*==== EXPORT =====================================================*/
/*==== VARIABLES ==================================================*/
/*==== FUNCTIONS ==================================================*/
#ifdef FAC_TRACE
LOCAL void smi_trace_ss_opcode (UBYTE opcode);
LOCAL void smi_trace_ss_codes (UBYTE ss_code);
LOCAL void smi_trace_ss_error (UBYTE ss_error);
LOCAL void smi_trace_ss_status (UBYTE ss_status);
LOCAL void smi_trace_clir_opt (UBYTE clir_opt);
LOCAL void smi_trace_ovr_ctg (UBYTE ovr_ctg);
LOCAL void smi_trace_cf_feature (T_CF_FEAT * feature);
LOCAL void smi_trace_cw_feature (T_Cx_BSG * feature);
LOCAL void smi_trace_cb_feature (T_CB_INFO * feature);
LOCAL void smi_trace_bs_ts (UBYTE bsTp, UBYTE bsCd);
LOCAL void smi_trace_bs (UBYTE bsCd);
LOCAL void smi_trace_ts (UBYTE bsCd);
LOCAL void smi_trace_ton (UBYTE ton);
LOCAL void smi_trace_npi (UBYTE npi);
LOCAL void smi_trace_tos (UBYTE tos);
#endif /* FAC_TRACE */
/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411) MODULE : ACI_RET |
| STATE : code ROUTINE : smi_trace_ss_opcode|
+--------------------------------------------------------------------+
PURPOSE : Traces the SS opcode
*/
#ifdef FAC_TRACE
LOCAL void smi_trace_ss_opcode (UBYTE opcode)
{
switch (opcode)
{
case KSD_OP_IRGT:
TRACE_EVENT ("Operation: Interrogate SS");
break;
case KSD_OP_REG:
TRACE_EVENT ("Operation: Register SS");
break;
case KSD_OP_ERS:
TRACE_EVENT ("Operation: Erase SS");
break;
case KSD_OP_ACT:
TRACE_EVENT ("Operation: Activate SS");
break;
case KSD_OP_DEACT:
TRACE_EVENT ("Operation: Deactivate SS");
break;
}
}
#endif /* FAC_TRACE */
/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411) MODULE : ACI_RET |
| STATE : code ROUTINE : smi_trace_clir_opt |
+--------------------------------------------------------------------+
PURPOSE : Traces the Clir Options
*/
#ifdef FAC_TRACE
LOCAL void smi_trace_clir_opt (UBYTE clir_opt)
{
switch (clir_opt)
{
case KSD_CO_NOT_VALID:
TRACE_EVENT ("CLIR opt : Not available");
break;
case KSD_CO_PERMANENT:
TRACE_EVENT ("CLIR opt : Permanent");
break;
case KSD_CO_TEMPORARY:
TRACE_EVENT ("CLIR opt : Temporary Default");
break;
case KSD_CO_ALLOWED:
TRACE_EVENT ("CLIR opt : Allowed Temporary Default");
break;
}
}
#endif /* FAC_TRACE */
/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411) MODULE : ACI_RET |
| STATE : code ROUTINE : smi_trace_bs |
+--------------------------------------------------------------------+
PURPOSE : Trace Bearer Service
*/
#ifdef FAC_TRACE
LOCAL void smi_trace_bs (UBYTE bsCd)
{
switch (bsCd)
{
case KSD_BS_ALL_BS:
TRACE_EVENT ("Bearer : all bearer services");
break;
case KSD_BS_ALL_DATA_CDA:
TRACE_EVENT ("Bearer : all data CDA services");
break;
case KSD_BS_CDA_300:
TRACE_EVENT ("Bearer : data CDA 300 bps");
break;
case KSD_BS_CDA_1200:
TRACE_EVENT ("Bearer : data CDA 1200 bps");
break;
case KSD_BS_CDA_1200_75:
TRACE_EVENT ("Bearer : data CDA 1200/75 bps");
break;
case KSD_BS_CDA_2400:
TRACE_EVENT ("Bearer : data CDA 2400 bps");
break;
case KSD_BS_CDA_4800:
TRACE_EVENT ("Bearer : data CDA 4800 bps");
break;
case KSD_BS_CDA_9600:
TRACE_EVENT ("Bearer : data CDA 9600 bps");
break;
case KSD_BS_ALL_DATA_CDS:
TRACE_EVENT ("Bearer : all data CDS services");
break;
case KSD_BS_CDS_1200:
TRACE_EVENT ("Bearer : data CDS 1200 bps");
break;
}
switch (bsCd)
{
/*
* this construct needed due to a bug in
* the target compiler (don磘 use switch
* with too many cases, the assembler produces
* failures)
*/
case KSD_BS_CDS_2400:
TRACE_EVENT ("Bearer : data CDS 2400 bps");
break;
case KSD_BS_CDS_4800:
TRACE_EVENT ("Bearer : data CDS 4800 bps");
break;
case KSD_BS_CDS_9600:
TRACE_EVENT ("Bearer : data CDS 9600 bps");
break;
case KSD_BS_ALL_DATA_PAD:
TRACE_EVENT ("Bearer : all data PAD services");
break;
case KSD_BS_PAD_300:
TRACE_EVENT ("Bearer : data PAD 300 bps");
break;
case KSD_BS_PAD_1200:
TRACE_EVENT ("Bearer : data PAD 1200 bps");
break;
case KSD_BS_PAD_1200_75:
TRACE_EVENT ("Bearer : data PAD 1200/75 bps");
break;
case KSD_BS_PAD_2400:
TRACE_EVENT ("Bearer : data PAD 2400 bps");
break;
case KSD_BS_PAD_4800:
TRACE_EVENT ("Bearer : data PAD 4800 bps");
break;
case KSD_BS_PAD_9600:
TRACE_EVENT ("Bearer : data PAD 9600 bps");
break;
}
switch (bsCd)
{
/*
* this construct needed due to a bug in
* the target compiler (don磘 use switch
* with too many cases, the assembler produces
* failures)
*/
case KSD_BS_ALL_DATA_PDS:
TRACE_EVENT ("Bearer : all data PDS services");
break;
case KSD_BS_PDS_2400:
TRACE_EVENT ("Bearer : data PDS 2400 bps");
break;
case KSD_BS_PDS_4800:
TRACE_EVENT ("Bearer : data PDS 4800 bps");
break;
case KSD_BS_PDS_9600:
TRACE_EVENT ("Bearer : data PDS 9600 bps");
break;
case KSD_BS_SPCH_ALT_CDA:
TRACE_EVENT ("Bearer : all data CDA alternating speech");
break;
case KSD_BS_SPCH_ALT_CDS:
TRACE_EVENT ("Bearer : all data CDS alternating speech");
break;
case KSD_BS_SPCH_FLD_CDA:
TRACE_EVENT ("Bearer : all data speech followed by CDA");
break;
case KSD_BS_SPCH_FLD_CDS:
TRACE_EVENT ("Bearer : all data speech followed by CDS");
break;
case KSD_BS_ALL_DC_ASYN:
TRACE_EVENT ("Bearer : all data circuit asynchronous");
break;
case KSD_BS_ALL_ASYN:
TRACE_EVENT ("Bearer : all asynchronous");
break;
}
switch (bsCd)
{
/*
* this construct needed due to a bug in
* the target compiler (don磘 use switch
* with too many cases, the assembler produces
* failures)
*/
case KSD_BS_ALL_DC_SYN:
TRACE_EVENT ("Bearer : all data circuit synchronous");
break;
case KSD_BS_ALL_SYN:
TRACE_EVENT ("Bearer : all synchronous");
break;
case KSD_BS_ALL_PSSS:
TRACE_EVENT ("Bearer : all PLMN specific bearer service");
break;
case KSD_BS_PLMN1:
TRACE_EVENT ("Bearer : PLMN specific bearer service 1");
break;
case KSD_BS_PLMN2:
TRACE_EVENT ("Bearer : PLMN specific bearer service 2");
break;
case KSD_BS_PLMN3:
TRACE_EVENT ("Bearer : PLMN specific bearer service 3");
break;
case KSD_BS_PLMN4:
TRACE_EVENT ("Bearer : PLMN specific bearer service 4");
break;
case KSD_BS_PLMN5:
TRACE_EVENT ("Bearer : PLMN specific bearer service 5");
break;
case KSD_BS_PLMN6:
TRACE_EVENT ("Bearer : PLMN specific bearer service 6");
break;
case KSD_BS_PLMN7:
TRACE_EVENT ("Bearer : PLMN specific bearer service 7");
break;
}
switch (bsCd)
{
/*
* this construct needed due to a bug in
* the target compiler (don磘 use switch
* with too many cases, the assembler produces
* failures)
*/
case KSD_BS_PLMN8:
TRACE_EVENT ("Bearer : PLMN specific bearer service 8");
break;
case KSD_BS_PLMN9:
TRACE_EVENT ("Bearer : PLMN specific bearer service 9");
break;
case KSD_BS_PLMNA:
TRACE_EVENT ("Bearer : PLMN specific bearer service 10");
break;
case KSD_BS_PLMNB:
TRACE_EVENT ("Bearer : PLMN specific bearer service 11");
break;
case KSD_BS_PLMNC:
TRACE_EVENT ("Bearer : PLMN specific bearer service 12");
break;
case KSD_BS_PLMND:
TRACE_EVENT ("Bearer : PLMN specific bearer service 13");
break;
case KSD_BS_PLMNE:
TRACE_EVENT ("Bearer : PLMN specific bearer service 14");
break;
case KSD_BS_PLMNF:
TRACE_EVENT ("Bearer : PLMN specific bearer service 15");
break;
}
}
#endif /* FAC_TRACE */
/*
+--------------------------------------------------------------------+
| PROJECT : GSM-F&D (8411) MODULE : ACI_RET |
| STATE : code ROUTINE : smi_trace_ts |
+--------------------------------------------------------------------+
PURPOSE : Trace Tele Service
*/
#ifdef FAC_TRACE
LOCAL void smi_trace_ts (UBYTE bsCd)
{
switch (bsCd)
{
case KSD_TS_ALL_TS:
TRACE_EVENT ("Tele : all tele services");
break;
case KSD_TS_ALL_SPCH:
TRACE_EVENT ("Tele : all speech transmission services");
break;
case KSD_TS_TLPHNY:
TRACE_EVENT ("Tele : telephony");
break;
case KSD_TS_EMRGNCY:
TRACE_EVENT ("Tele : emergency calls");
break;
case KSD_TS_ALL_SMS:
TRACE_EVENT ("Tele : all SMS services");
break;
case KSD_TS_SMS_MT:
TRACE_EVENT ("Tele : SMS MT PP");
break;
case KSD_TS_SMS_MO:
TRACE_EVENT ("Tele : SMS MO PP");
break;
case KSD_TS_ALL_FAX:
TRACE_EVENT ("Tele : all FAX services");
break;
case KSD_TS_FAX3_ALT_SPCH:
TRACE_EVENT ("Tele : FAX group 3 alternating speech");
break;
case KSD_TS_FAX3_AUTO:
TRACE_EVENT ("Tele : FAX group 3 automatic");
break;
}
switch (bsCd)
{
/*
* this construct needed due to a bug in
* the target compiler (don磘 use switch
* with too many cases, the assembler produces
* failures)
*/
case KSD_TS_FAX4:
TRACE_EVENT ("Tele : FAX group 4");
break;
case KSD_TS_ALL_DATA:
TRACE_EVENT ("Tele : all FAX and SMS services");
break;
case KSD_TS_ALL_XCPT_SMS:
TRACE_EVENT ("Tele : all FAX and Speech services");
break;
case KSD_TS_ALL_PSSS:
TRACE_EVENT ("Tele : all PLMN specific tele services");
break;
case KSD_TS_PLMN1:
TRACE_EVENT ("Tele : PLMN specifc tele service 1");
break;
case KSD_TS_PLMN2:
TRACE_EVENT ("Tele : PLMN specifc tele service 2");
break;
case KSD_TS_PLMN3:
TRACE_EVENT ("Tele : PLMN specifc tele service 3");
break;
case KSD_TS_PLMN4:
TRACE_EVENT ("Tele : PLMN specifc tele service 4");
break;
case KSD_TS_PLMN5:
TRACE_EVENT ("Tele : PLMN specifc tele service 5");
break;
case KSD_TS_PLMN6:
TRACE_EVENT ("Tele : PLMN specifc tele service 6");
break;
}
switch (bsCd)
{
/*
* this construct needed due to a bug in
* the target compiler (don磘 use switch
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -