📄 cmh_sms.h
字号:
/*
+-----------------------------------------------------------------------------
| Project : GSM-PS (6147)
| Modul : CMH_SMS
+-----------------------------------------------------------------------------
| 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 : Definitions for the command handler of the
| short message service.
+-----------------------------------------------------------------------------
*/
#ifndef CMH_SMS_H
#define CMH_SMS_H
/*==== CONSTANTS ==================================================*/
/* for the following constants see GSM 11.11, chapter 10.3.3 */
#define STAT_MASK 0x07
#define REC_UNREAD 0x03 /* message received by MS from network */
/* message to be read */
#define REC_READ 0x01 /* message received by MS from network */
/* message read */
#define STO_UNSENT 0x07 /* MS originating message */
/* message to be sent */
#define STO_SENT 0x05 /* MS originating message */
/* message sent to the network */
/* TP-Validity-Period-Format (TP-VPF) */
#define VPF_MASK 0x18
#define VPF_NOT_PRESENT 0x00
#define VPF_RELATIVE 0x10
#define VPF_ABSOLUTE 0x18
#define VPF_ENHANCED 0x08
#define SMS_CMH_MAX_START_IDX (255)
#define MIN_SMS_PRM_LEN 28
#define MAX_SMS_PRM_ADDR_OCTETS 10 /* = MAX_SMS_ADDR_DIG/2 */
#define SIM_SMSP_V_DEST 0x01
#define SIM_SMSP_V_SCA 0x02
#define SIM_SMSP_V_PID 0x04
#define SIM_SMSP_V_DCS 0x08
#define SIM_SMSP_V_VPREL 0x10
/*
* Value constants for bcd
*/
#define BCD_ASTSK 0xa /* ( */
#define BCD_PND 0xb /* # */
#define BCD_A 0xc /* a */
#define BCD_B 0xd /* b */
#define BCD_C 0xe /* c */
#define BCD_RES 0xf /* reserved */
/*==== TYPES ======================================================*/
/*typedef struct
{
UBYTE npi : 4;
UBYTE ton : 3;
UBYTE ext : 1;
} T_TON_NPI;*/
typedef struct
{
UBYTE length;
UBYTE ton_npi;
UBYTE addr[MAX_SMS_PRM_ADDR_OCTETS];
} T_RP_ADDRESS;
typedef struct
{
UBYTE no_bcd;
UBYTE ton_npi;
UBYTE addr[MAX_SMS_PRM_ADDR_OCTETS];
} T_TP_ADDRESS;
typedef struct
{
UBYTE par_ind;
UBYTE dest_no_bcd;
UBYTE dest_ton_npi;
UBYTE dest_addr[MAX_SMS_PRM_ADDR_OCTETS];
UBYTE sca_length;
UBYTE sca_ton_npi;
UBYTE sca_addr[MAX_SMS_PRM_ADDR_OCTETS];
UBYTE pid;
UBYTE dcs;
UBYTE vp_rel;
} T_ACI_SMS_SIM_PARAMS;
typedef struct
{
UBYTE lowerMSB;
UBYTE lowerLSB;
UBYTE upperMSB;
UBYTE upperLSB;
} T_ACI_CBM_SIM_MID_RANGE;
typedef struct
{
UBYTE MSB;
UBYTE LSB;
} T_ACI_CBM_SIM_MID_LIST;
/********************************************************************
*
* SMS Profile for FFS
*
********************************************************************/
#define MAX_FFS_SMSPRFLS 4
#define FFS_SMSPRFL_PATH "/gsm/sms"
#define FFS_SMSPRFL_FNAME01 "/gsm/sms/smsprfl01"
#define FFS_SMSPRFL_FNAME02 "/gsm/sms/smsprfl02"
#define FFS_SMSPRFL_FNAME03 "/gsm/sms/smsprfl03"
#define FFS_SMSPRFL_FNAME04 "/gsm/sms/smsprfl04"
#define SIZE_FFS_SMSPRFL_SCA 20
#define SIZE_FFS_SMSPRFL_MIDS 40
#define SIZE_FFS_SMSPRFL_DCSS 20
#define SIZE_FFS_SMSPRFL_VPABS 15
#define SIZE_FFS_SMSPRFL_VPENH 15
#define FFS_SMSPRFL_VLD 0x00
#define FFS_SMSPRFL_INVLD 0xFF
typedef struct ffs_EFsmsprfl_Type /* SMS Profile */
{
UBYTE vldFlag; /* Valid Flag */
UBYTE CSCAsca[SIZE_FFS_SMSPRFL_SCA]; /* Service Center Address */
UBYTE CSCAlenSca; /* Length of Service Center Address */
UBYTE CSCAton; /* Type of Number */
UBYTE CSCAnpi; /* Numbering Plan Identification */
UBYTE CSCBmode; /* Mode */
UBYTE CSCBmids[SIZE_FFS_SMSPRFL_MIDS]; /* Message Identifier */
UBYTE CSCBdcss[SIZE_FFS_SMSPRFL_DCSS]; /* Data Coding Schemes */
UBYTE CSMPfo; /* First Octet */
UBYTE CSMPvprel; /* Validity Period Relative */
UBYTE CSMPvpabs[SIZE_FFS_SMSPRFL_VPABS]; /* Validity Period Absolute */
UBYTE CSMPvpenh[SIZE_FFS_SMSPRFL_VPENH]; /* Validity Period Enhanced */
UBYTE CSMPpid; /* Protocol Identifier */
UBYTE CSMPdcs; /* Data Coding Scheme */
} T_ACI_FFS_SMSPRFL;
#define SIZE_FSS_SMSPRFL ( SIZE_FFS_SMSPRFL_SCA + \
SIZE_FFS_SMSPRFL_MIDS + \
SIZE_FFS_SMSPRFL_DCSS + \
SIZE_FFS_SMSPRFL_VPABS + \
SIZE_FFS_SMSPRFL_VPENH + 9 )
/*==== PROTOTYPES =================================================*/
EXTERN UBYTE cmhSMS_getNType ( T_ACI_TOA_TON ton );
EXTERN BOOL cmhSMS_findPrflId ( UBYTE critrerium,
void *elem );
EXTERN T_ACI_TOA_TON
cmhSMS_getTon ( UBYTE ntype );
EXTERN UBYTE cmhSMS_getNPlan ( T_ACI_TOA_NPI npi );
EXTERN T_ACI_TOA_NPI
cmhSMS_getNpi ( UBYTE nplan );
EXTERN BOOL cmhSMS_isVpabsVld ( T_ACI_VP_ABS* vpabs );
EXTERN BOOL cmhSMS_isVpenhVld ( T_ACI_VP_ENH* vpenh );
EXTERN void cmhSMS_setVpabsPsa ( T_tp_vp_abs* psaVp,
T_ACI_VP_ABS* cmhVp );
EXTERN void cmhSMS_setVpenhPsa ( T_tp_vp_enh* psaVp,
T_ACI_VP_ENH* cmhVp );
EXTERN void cmhSMS_setVpabsCmh ( T_ACI_VP_ABS* cmhVp,
T_tp_vp_abs* psaVp );
EXTERN void cmhSMS_setVpenhCmh ( T_ACI_VP_ENH* cmhVp,
T_tp_vp_enh* psaVp );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -