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

📄 ksd.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/* 
+----------------------------------------------------------------------------- 
|  Project :  GSM-PS (6147)
|  Modul   :  KSD
+----------------------------------------------------------------------------- 
|  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 for decoding of EMMI key sequences
|             and supplementary service control strings.
+----------------------------------------------------------------------------- 
*/ 

#ifndef KSD_H
#define KSD_H

/*==== CONSTANTS ==================================================*/

#define KSD_TON_International 0x01
#define KSD_TON_Unknown       0x00

#define KSD_NPI_IsdnTelephony 0x01
#define KSD_NPI_Unknown       0x00

#define KSD_TOS_Nsap          0x00

#define KSD_OE_Even           0x00
#define KSD_OE_Odd            0x01

#define KSD_TIME_NONE         0xFF  /* no time parameter */
#define KSD_IDX_NONE          0xFF  /* no index parameter */

/*==== TYPES ======================================================*/

typedef enum              /* +COLP parameter <mode> */
{
  COLP_MOD_NotPresent = -1,
  COLP_MOD_Disable,
  COLP_MOD_Enable
}
T_ACA_COLP_MOD;

typedef enum              /* +CLIP parameter <mode> */
{
  CLIP_MOD_NotPresent = -1,
  CLIP_MOD_Disable,
  CLIP_MOD_Enable
}
T_ACA_CLIP_MOD;

typedef enum              /* KSD operation codes */
{
  KSD_OP_NONE = 0,        /* no operation */
  KSD_OP_IRGT,            /* interrogate SS */
  KSD_OP_REG,             /* register SS */
  KSD_OP_ERS,             /* erase SS */
  KSD_OP_ACT,             /* activate SS */
  KSD_OP_DEACT            /* deactivate SS */
}
T_ACI_KSD_OP;

typedef enum                    /* KSD supplementary service codes */
{
  KSD_SS_NONE         = 0xFF,   /* no operation */
  KSD_SS_ALL_SERV     = 0x00,   /* all ss service */
  KSD_SS_CLIP         = 0x11,   /* calling line identification presentation */
  KSD_SS_CLIR         = 0x12,   /* calling line identification restriction */
  KSD_SS_COLP         = 0x13,   /* connected line identification presentation */
  KSD_SS_COLR         = 0x14,   /* connected line identification restriction */
  KSD_SS_ALL_FWSS     = 0x20,   /* all forwarding SS              */
  KSD_SS_CFU          = 0x21,   /* call forwarding unconditional  */
  KSD_SS_ALL_CFWSS    = 0x28,   /* all conditional forwarding SS  */
  KSD_SS_CFB          = 0x29,   /* call forwarding on mobile subscriber busy */
  KSD_SS_CFNRY        = 0x2a,   /* call forwarding on no reply    */
  KSD_SS_CFNRC        = 0x2b,   /* call forwarding on mobile subscriber not reachable */
  KSD_SS_CW           = 0x41,   /* call waiting                   */
  KSD_SS_CCBS         = 0x43,   /* completion of call to busy subscribers */
  KSD_SS_ALL_CBSS     = 0x90,   /* all barring SS                 */
  KSD_SS_BOC          = 0x91,   /* barring of outgoing calls      */
  KSD_SS_BAOC         = 0x92,   /* barring of all outgoing calls  */
  KSD_SS_BOIC         = 0x93,   /* barring of outgoing international calls */
  KSD_SS_BOICXH       = 0x94,   /* barring of outgoing international calls except those directed to the home PLMN */
  KSD_SS_BIC          = 0x99,   /* barring of incoming calls      */
  KSD_SS_BAIC         = 0x9a,   /* barring of all incoming calls  */
  KSD_SS_BICRM        = 0x9b,   /* barring of incoming calls when roaming outside home PLMN Country */
  KSD_SS_PIN1         = 0xE0,   /* PIN 1 */
  KSD_SS_PIN2         = 0xE1    /* PIN 2 */
}
T_ACI_KSD_SS;

#define KSD_BS_TeleBearerUnknown (0xFF)

typedef enum                      /* KSD basic service codes GSM 2.30 */
{
  KSD_BS_None             =  0,   /* no basic service */
  KSD_BS_AllTeleAllBearer =  9,
  KSD_BS_AllTele          = 10,
  KSD_BS_Telephony,
  KSD_BS_AllData,
  KSD_BS_AllFax,
  KSD_BS_SMS              = 16,
  KSD_BS_VoiceGroup,
  KSD_BS_AllTeleXcptSMS   = 19,
  KSD_BS_AllBearer,
  KSD_BS_AllAsync,
  KSD_BS_AllSync,
  KSD_BS_AllDataCircSync  = 24,
  KSD_BS_AllDataCircAsync,
  KSD_BS_AllDedPackAcc,
  KSD_BS_AllDedPADAcc,
  KSD_BS_AllPLMNSpecTele  = 50,
  KSD_BS_PLMNSpecTele1,
  KSD_BS_PLMNSpecTele2,
  KSD_BS_PLMNSpecTele3,
  KSD_BS_PLMNSpecTele4,
  KSD_BS_PLMNSpecTele5,
  KSD_BS_PLMNSpecTele6,
  KSD_BS_PLMNSpecTele7,
  KSD_BS_PLMNSpecTele8,
  KSD_BS_PLMNSpecTele9,
  KSD_BS_PLMNSpecTele10,
  KSD_BS_PLMNSpecTele11,
  KSD_BS_PLMNSpecTele12,
  KSD_BS_PLMNSpecTele13,
  KSD_BS_PLMNSpecTele14,
  KSD_BS_PLMNSpecTele15,
  KSD_BS_AllPLMNSpecBearer  = 70,
  KSD_BS_PLMNSpecBearer1,
  KSD_BS_PLMNSpecBearer2,
  KSD_BS_PLMNSpecBearer3,
  KSD_BS_PLMNSpecBearer4,
  KSD_BS_PLMNSpecBearer5,
  KSD_BS_PLMNSpecBearer6,
  KSD_BS_PLMNSpecBearer7,
  KSD_BS_PLMNSpecBearer8,
  KSD_BS_PLMNSpecBearer9,
  KSD_BS_PLMNSpecBearer10,
  KSD_BS_PLMNSpecBearer11,
  KSD_BS_PLMNSpecBearer12,
  KSD_BS_PLMNSpecBearer13,
  KSD_BS_PLMNSpecBearer14,
  KSD_BS_PLMNSpecBearer15,
  KSD_BS_AuxTelephony      = 89
}
T_ACI_KSD_BS;

typedef enum                      /* KSD basic service type */
{
  KSD_BS_TP_None     =  0,        /* no basic service type */
  KSD_BS_TP_Tele     =  0x83,     /* basic service teleservice */
  KSD_BS_TP_Bearer   =  0x82      /* basic service bearer service */
}
T_ACI_KSD_BS_TP;

/* teleservice */
typedef enum
{
  KSD_TS_ALL_TS        =0x0,         /* all teleservices               */
  KSD_TS_ALL_SPCH      =0x10,        /* All speech transmission services */
  KSD_TS_TLPHNY        =0x11,        /* telephony                      */
  KSD_TS_EMRGNCY       =0x12,        /* emergency calls                */
  KSD_TS_ALL_SMS       =0x20,        /* all SMS services               */
  KSD_TS_SMS_MT        =0x21,        /* SMS MT PP                      */
  KSD_TS_SMS_MO        =0x22,        /* SMS MO PP                      */
  KSD_TS_ALL_FAX       =0x60,        /* all FAX transmission services  */
  KSD_TS_FAX3_ALT_SPCH =0x61,        /* FAX group 3 alter. speech      */
  KSD_TS_FAX3_AUTO     =0x62,        /* FAX group 3 automatic          */
  KSD_TS_FAX4          =0x63,        /* FAX group 4                    */
  KSD_TS_ALL_DATA      =0x70,        /* all FAX and SMS services       */
  KSD_TS_ALL_XCPT_SMS  =0x80,        /* all FAX and speech services    */
  KSD_TS_ALL_PSSS      =0xd0,        /* all PLMN specific TS           */
  KSD_TS_PLMN1         =0xd1,        /* PLMN specific TS 1             */
  KSD_TS_PLMN2         =0xd2,        /* PLMN specific TS 2             */
  KSD_TS_PLMN3         =0xd3,        /* PLMN specific TS 3             */
  KSD_TS_PLMN4         =0xd4,        /* PLMN specific TS 4             */
  KSD_TS_PLMN5         =0xd5,        /* PLMN specific TS 5             */
  KSD_TS_PLMN6         =0xd6,        /* PLMN specific TS 6             */
  KSD_TS_PLMN7         =0xd7,        /* PLMN specific TS 7             */
  KSD_TS_PLMN8         =0xd8,        /* PLMN specific TS 8             */
  KSD_TS_PLMN9         =0xd9,        /* PLMN specific TS 9             */
  KSD_TS_PLMNA         =0xda,        /* PLMN specific TS A             */
  KSD_TS_PLMNB         =0xdb,        /* PLMN specific TS B             */
  KSD_TS_PLMNC         =0xdc,        /* PLMN specific TS C             */
  KSD_TS_PLMND         =0xdd,        /* PLMN specific TS D             */
  KSD_TS_PLMNE         =0xde,        /* PLMN specific TS E             */
  KSD_TS_PLMNF         =0xdf        /* PLMN specific TS F             */

} T_ACI_KSD_TELE_SERVICE;

/* bearer service */
typedef enum
{
  KSD_BS_ALL_BS       =0x0,         /* all bearer services            */
  KSD_BS_ALL_DATA_CDA =0x10,        /* all data CDA services          */
  KSD_BS_CDA_300      =0x11,        /* data CDA  300 bps              */
  KSD_BS_CDA_1200     =0x12,        /* data CDA 1200 bps              */
  KSD_BS_CDA_1200_75  =0x13,        /* data CDA 1200/75 bps           */
  KSD_BS_CDA_2400     =0x14,        /* data CDA 2400 bps              */
  KSD_BS_CDA_4800     =0x15,        /* data CDA 4800 bps              */
  KSD_BS_CDA_9600     =0x16,        /* data CDA 9600 bps              */
  KSD_BS_ALL_DATA_CDS =0x18,        /* all data CDS services          */
  KSD_BS_CDS_1200     =0x1a,        /* data CDS 1200 bps              */
  KSD_BS_CDS_2400     =0x1c,        /* data CDS 2400 bps              */
  KSD_BS_CDS_4800     =0x1d,        /* data CDS 4800 bps              */
  KSD_BS_CDS_9600     =0x1e,        /* data CDS 9600 bps              */
  KSD_BS_ALL_DATA_PAD =0x20,        /* all data PAD services          */
  KSD_BS_PAD_300      =0x21,        /* data PAD  300 bps              */
  KSD_BS_PAD_1200     =0x22,        /* data PAD 1200 bps              */
  KSD_BS_PAD_1200_75  =0x23,        /* data PAD 1200/75 bps           */
  KSD_BS_PAD_2400     =0x24,        /* data PAD 2400 bps              */
  KSD_BS_PAD_4800     =0x25,        /* data PAD 4800 bps              */
  KSD_BS_PAD_9600     =0x26,        /* data PAD 9600 bps              */
  KSD_BS_ALL_DATA_PDS =0x28,        /* all data PDS services          */
  KSD_BS_PDS_2400     =0x2c,        /* data PDS 2400 bps              */
  KSD_BS_PDS_4800     =0x2d,        /* data PDS 4800 bps              */
  KSD_BS_PDS_9600     =0x2e,        /* data PDS 9600 bps              */
  KSD_BS_SPCH_ALT_CDA =0x30,        /* all data CDA alter. speech     */
  KSD_BS_SPCH_ALT_CDS =0x38,        /* all data CDS alter. speech     */
  KSD_BS_SPCH_FLD_CDA =0x40,        /* all data speech followed CDA   */
  KSD_BS_SPCH_FLD_CDS =0x48,        /* all data speech followed CDA   */
  KSD_BS_ALL_DC_ASYN  =0x50,        /* all data circuit asynchronous  */
  KSD_BS_ALL_ASYN     =0x60,        /* all asynchronous services      */
  KSD_BS_ALL_DC_SYN   =0x58,        /* all data circuit synchronous   */
  KSD_BS_ALL_SYN      =0x68,        /* all synchronous services       */
  KSD_BS_ALL_PSSS     =0xd0,        /* all PLMN specific BS           */
  KSD_BS_PLMN1        =0xd1,        /* PLMN specific 1                */
  KSD_BS_PLMN2        =0xd2,        /* PLMN specific 2                */
  KSD_BS_PLMN3        =0xd3,        /* PLMN specific 3                */
  KSD_BS_PLMN4        =0xd4,        /* PLMN specific 4                */
  KSD_BS_PLMN5        =0xd5,        /* PLMN specific 5                */
  KSD_BS_PLMN6        =0xd6,        /* PLMN specific 6                */
  KSD_BS_PLMN7        =0xd7,        /* PLMN specific 7                */
  KSD_BS_PLMN8        =0xd8,        /* PLMN specific 8                */
  KSD_BS_PLMN9        =0xd9,        /* PLMN specific 9                */
  KSD_BS_PLMNA        =0xda,        /* PLMN specific A                */
  KSD_BS_PLMNB        =0xdb,        /* PLMN specific B                */
  KSD_BS_PLMNC        =0xdc,        /* PLMN specific C                */
  KSD_BS_PLMND        =0xdd,        /* PLMN specific D                */
  KSD_BS_PLMNE        =0xde,        /* PLMN specific E                */
  KSD_BS_PLMNF        =0xdf         /* PLMN specific F                */

} T_ACI_KSD_BEARER_SERVICE;

typedef enum              /* KSD SS Status */
{
  KSD_ST_NOT_VALID = 0xFF,/* no valid SS status */
  KSD_ST_NONE = 0,        /* not registered, not active, not provisioned,
                             not quiescent */
  KSD_ST_A,               /* Active                         */
  KSD_ST_R,               /* Registered                     */
  KSD_ST_RA,              /* Registered,Active              */
  KSD_ST_P,               /* Provisioned                    */
  KSD_ST_PA,              /* Provisioned,Active             */
  KSD_ST_PR,              /* Provisioned,Registered         */
  KSD_ST_PRA,             /* Provisioned,Registered,Active  */
  KSD_ST_Q,               /* Quiescent                      */
  KSD_ST_QA,              /* Quiescent,Active               */
  KSD_ST_QR,              /* Quiescent,Registered           */
  KSD_ST_QRA,             /* Quiescent,Registered,Active    */
  KSD_ST_QP,              /* Quiescent,Provisioned          */
  KSD_ST_QPA,             /* Quiescent,Provisioned,Active   */
  KSD_ST_QPR,             /* Quiescent,Provisioned,Registered */
  KSD_ST_QPRA             /* Quiescent,Provisioned,Registered,Active */
}
T_ACI_KSD_ST;

typedef enum              /* KSD CLIR option */
{
  KSD_CO_NOT_VALID = 0xFF, /* no valid CLIR option */
  KSD_CO_PERMANENT = 0x0,  /* CLIR permanent      */
  KSD_CO_TEMPORARY = 0x1,  /* CLIR temporary default */
  KSD_CO_ALLOWED   = 0x2   /* CLIR Allowed temporary default  */
}
T_ACI_KSD_CLIR_OP;

typedef enum
{
  KSD_OVR_CAT_NOT_VALID = 0xFF, /* no valid CLIR option */
  KSD_OVR_CAT_ENABLED   = 0x0,  /* Override enabled  */
  KSD_OVR_CAT_DISABLED  = 0x1   /* Override disabled */
}
T_ACI_KSD_OVRD_CTG;

typedef enum
{
  KSD_NO_ERROR                  = 0x0,
  KSD_ERR_UNKNOWN_SUBSCRIBER    = 0x1,
  KSD_ERR_ILLEGAL_SUBSCRIBER    = 0x9,
  KSD_ERR_BEARER_SVC_NOT_PROV   = 0xa,
  KSD_ERR_TELE_SVC_NOT_PROV     = 0xb,
  KSD_ERR_ILLEGAL_EQUIPMENT     = 0xc,
  KSD_ERR_CALL_BARRED           = 0xd,
  KSD_ERR_ILLEGAL_SS_OPERATION  = 0x10,
  KSD_ERR_SS_ERR_STATUS         = 0x11,
  KSD_ERR_SS_NOT_AVAIL          = 0x12,
  KSD_ERR_SS_SUBS_VIOLATION     = 0x13,
  KSD_ERR_SS_INCOMP             = 0x14,
  KSD_ERR_FAC_NOT_SUPPORTED     = 0x15,
  KSD_ERR_ABSENT_SUBS           = 0x1b,
  KSD_ERR_SYSTEM_FAIL           = 0x22,
  KSD_ERR_DATA_MISSING          = 0x23,
  KSD_ERR_UNEXPECT_DATA         = 0x24,
  KSD_ERR_PWD_REG_FAIL          = 0x25,
  KSD_ERR_NEG_PWD_CHECK         = 0x26,
  KSD_ERR_NUM_PWD_VIOLATION     = 0x2b,
  KSD_ERR_UNKNOWN_ALPHA         = 0x47,
  KSD_ERR_USSD_BUSY             = 0x48,
  KSD_ERR_MAX_NUM_MPTY_EXCEED   = 0x7e,
  KSD_ERR_RESOURCE_NOT_AVAIL    = 0x7f,
  KSD_GEN_PROB_UNRECOG_CMP      = 0xA0,
  KSD_GEN_PROB_MISTYPED_CMP     = 0xA1,
  KSD_GEN_PROB_BAD_STRUCT_CMP   = 0xA2,
  KSD_INV_PROB_DUPL_INV_ID      = 0xB0,
  KSD_INV_PROB_UNRECOG_OP       = 0xB1,
  KSD_INV_PROB_MISTYPED_PAR     = 0xB2,
  KSD_INV_PROB_RESOURCE_LIM     = 0xB3,
  KSD_INV_PROB_INIT_RELEASE     = 0xB4,
  KSD_INV_PROB_UNRECOG_LNK_ID   = 0xB5,
  KSD_INV_PROB_LNK_RES_UNEXP    = 0xB6,
  KSD_INV_PROB_UNEXP_LNK_OP     = 0xB7,
  KSD_RES_PROB_UNRECOG_INV_ID   = 0xC0,
  KSD_RES_PROB_RET_RES_UNEXP    = 0xC1,
  KSD_RES_PROB_MISTYPED_PAR     = 0xC2,
  KSD_ERR_PROB_UNRECOG_INV_ID   = 0xD0,
  KSD_ERR_PROB_RET_ERR_UNEXP    = 0xD1,
  KSD_ERR_PROB_UNRECOG_ERR      = 0xD2,
  KSD_ERR_PROB_UNEXP_ERR        = 0xD3,
  KSD_ERR_PROB_MISTYPED_PAR     = 0xD4,
  KSD_ERR_FATAL_INV_RESULT      = 0xE0,
  KSD_ERR_FATAL_CCD_DEC         = 0xE1,
  KSD_ERR_FATAL_SS_ENT          = 0xE2
}
T_ACI_KSD_ERR;

typedef enum       /* type of key sequence */
{
#ifdef SMI
  SEQGRP_KEYPAD_IND,
  SEQGRP_LCD_TEST,
  SEQGRP_SET_ABBR_DIAL,
  SEQGRP_SHOW_CALL_TABLE,

  SEQGRP_SMS_SEND,
  SEQGRP_SMS_SEND_FROM_MEM,
  SEQGRP_SMS_WRITE,
  SEQGRP_SMS_DELETE,
  SEQGRP_SMS_READ,
  SEQGRP_SMS_LIST,
  SEQGRP_SMS_READ_SINGLE,

  SEQGRP_SND_CBST,
  SEQGRP_SND_CRLP,
  SEQGRP_SND_DS,

  SEQGRP_DATA_SPEECH,
  SEQGRP_SPEECH_DATA,
#endif

  SEQGRP_CHANGE_REGISTER,
  SEQGRP_SET_REGISTER,
  SEQGRP_START_REGISTER,

  SEQGRP_ACT_SIM_LOCK,
  SEQGRP_DEACT_SIM_LOCK,
  SEQGRP_INTRGT_SIM_LOCK,

  SEQGRP_DTMF,

⌨️ 快捷键说明

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