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

📄 cmh_sms.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/* 
+----------------------------------------------------------------------------- 
|  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 + -