comparison gsm-fw/g23m-aci/aci/psa_sms.h @ 775:eedbf248bac0

gsm-fw/g23m-aci subtree: initial import from LoCosto source
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 12 Oct 2014 01:45:14 +0000
parents
children
comparison
equal deleted inserted replaced
774:40a721fd9854 775:eedbf248bac0
1 /*
2 +-----------------------------------------------------------------------------
3 | Project : GSM-PS (6147)
4 | Modul : PSA_SMS
5 +-----------------------------------------------------------------------------
6 | Copyright 2002 Texas Instruments Berlin, AG
7 | All rights reserved.
8 |
9 | This file is confidential and a trade secret of Texas
10 | Instruments Berlin, AG
11 | The receipt of or possession of this file does not convey
12 | any rights to reproduce or disclose its contents or to
13 | manufacture, use, or sell anything it may describe, in
14 | whole, or in part, without the specific written consent of
15 | Texas Instruments Berlin, AG.
16 +-----------------------------------------------------------------------------
17 | Purpose : Definitions for the protocol stack adapter
18 | Short Message Service ( SMS )
19 +-----------------------------------------------------------------------------
20 */
21
22 #ifndef PSA_SMS_H
23 #define PSA_SMS_H
24
25 #include "psa.h"
26
27 #define TRACING
28
29 /*==== CONSTANTS ==================================================*/
30
31 #define MAX_SIM_ME_ENTRIES 256
32
33 #define TP_VP_RELATIVE_DEFAULT 0xA7
34
35 #define BM0 0 /* CBM indication routing type 0 */
36 #define BM1 1 /* CBM indication routing type 1 */
37 #define BM2 2 /* CBM indication routing type 2 */
38 #define BM3 3 /* CBM indication routing type 3 */
39
40 #define DEF_DCS_RANGE 0xFF /* DCS range default value */
41 #define DEF_MID_RANGE 0xFFFF /* MID range default value */
42
43 #ifdef SIM_TOOLKIT
44 #define SMS_READ_SIM_SMSP 4
45 #define SMS_READ_SIM_CBMIR 3
46 #define SMS_READ_SIM_CBMI 2
47 #define SMS_READ_SIM_CBMID 1
48 #define SMS_READ_SIM_CMPL 0
49
50 #else
51 #define SMS_READ_SIM_SMSP 3
52 #define SMS_READ_SIM_CBMIR 2
53 #define SMS_READ_SIM_CBMI 1
54 #define SMS_READ_SIM_CMPL 0
55 #endif /* of SIM_TOOLKIT */
56
57 #define TEST_STR_LEN (80) /* max. length of test parameter string */
58
59 /*==== TYPES ======================================================*/
60
61
62
63 typedef enum /* service status */
64 {
65 NO_VLD_SMS = 0, /* not a valid SMS status */
66 SMS_IDL, /* SMS idle */
67 SMS_RD_REQ, /* SMS read request */
68 SMS_STR_REQ, /* SMS store request */
69 SMS_DEL_REQ, /* SMS delete request */
70 SMS_CMD_REQ, /* SMS command request */
71 SMS_SND_REQ /* SMS send request */
72 } T_SMS_SMSST;
73
74 typedef struct entStatus2 /* entity status */
75 {
76 T_ACI_CMD_SRC entOwn; /* entity owner */
77 T_ACI_AT_CMD curCmd; /* current command processing */
78 } T_ENT_STAT2;
79
80 typedef struct SMSSetParm
81 {
82 UBYTE prflId; /* profile ID equals recNr (starts from 1)*/
83 UBYTE isCopy; /* copy of parameter set */
84 UBYTE numOfRefs; /* number of sources which refer this */
85 UBYTE record; /* record used for actual operation */
86 T_rp_addr sca; /* service center address */
87 UBYTE msgType; /* type of message */
88 UBYTE vpRel; /* relative validity period */
89 T_tp_vp_abs vpAbs; /* absolute validity period */
90 T_tp_vp_enh vpEnh; /* enhanced validity period */
91 UBYTE pid; /* protocol identifier */
92 UBYTE dcs; /* data coding scheme */
93
94 T_ACI_CMGF_MOD CMGFmode;
95
96 } T_SMS_SET_PRM;
97
98
99 typedef struct SMSParameter
100 {
101 UBYTE simTotal; /* total number of SIM storage */
102 UBYTE simUsed; /* used number of SIM storage (counter) */
103 UBYTE meTotal; /* total number of ME storage */
104 UBYTE meUsed; /* used number of ME storage (counter) */
105 UBYTE smsParamRecLen; /* record length of EF(SMSP) */
106 UBYTE smsParamMaxRec; /* number of records in EF(SMSP) */
107 UBYTE snd_msg_ref; /* last used message reference (for +CMGC) */
108 } T_ACI_SMS_PARAMETER;
109
110
111 typedef struct SMSCBMParameter
112 {
113 T_OWN cbchOwner; /* identifies the used set for a
114 CBCH request */
115 UBYTE cbmHndl; /* CBCH message handling */
116 UBYTE cbmMode; /* CBCH message type modus */
117 USHORT msgId[MAX_IDENTS]; /* CBCH message identifier */
118 UBYTE dcsId[MAX_IDENTS]; /* CBCH data coding scheme */
119 UBYTE cbmFoundIds; /* actual found IDs */
120 UBYTE cbmSIMmaxId; /* number IDs storable on SIM */
121 UBYTE cbmSIMmaxIdRge; /* number ID ranges storable on SIM */
122 UBYTE IMSI [MAX_IMSI]; /* IMSI */
123 #ifdef SIM_TOOLKIT
124 USHORT CBDtaDwnlIdent[MAX_IDENTS_SAT]; /* Identifiers for SAT CB data Dwn */
125 UBYTE CBDtaDwnlFoundIds; /* actual found IDs */
126 UBYTE cbmSIMmaxSATId; /* number SAT IDs storable on SIM */
127 #endif /* of SIM_TOOLKIT */
128 #ifdef FF_HOMEZONE
129 UBYTE hzMode; /* Activation mode of homezone feature */
130 UBYTE hzDcs; /* data coding sceme for homezone CBM */
131 UBYTE hzTimeout; /* timeout period for homezone CBM */
132 #endif /* FF_HOMEZONE */
133 } T_SMS_CBM_PARAMETER;
134
135
136 /* this structure holds pointers to data to encode */
137 typedef struct TpDataUnit
138 {
139 T_TP_SUBMIT *tp_submit;
140 T_TP_DELIVER *tp_deliver;
141 T_TP_COMMAND *tp_command;
142 T_rp_addr sc_addr;
143 } T_TP_DATA_UNIT;
144
145
146 typedef struct SMSShrdParm
147 {
148 T_OWN owner; /* identifies the used set */
149
150 T_SMS_SET_PRM *pSetPrm[OWN_SRC_MAX];/* possible sets */
151 USHORT rslt; /* result of operation */
152 #if defined DEBUG_ACI
153 char testPrm[TEST_STR_LEN]; /* test parameter */
154 #endif
155 UBYTE smsStat; /* SMS status */
156 UBYTE rdMode; /* SMS read mode */
157 UBYTE mtHndl; /* mt message handling */
158 UBYTE srHndl; /* status report handling */
159 UBYTE accessEnabled; /* access condx for SMS commands */
160 SHORT prmRdSeq; /* Status of SMS Parameters read */
161
162 UBYTE mem1; /* prefered memory for mem1 (in PSA type)*/
163 UBYTE mem2; /* prefered memory for mem2 (in PSA type)*/
164 UBYTE mem3; /* prefered memory for mem3 (in PSA type)*/
165 UBYTE index; /* Index of the memory location to be deleted */
166 UBYTE status; /* This is a delete flag, depending on which
167 multiple recods of the same status like
168 all read, all sent, all unsent are
169 deleted. */
170 UBYTE cnma_ack_expected; /* +CNMA acknowlegdement expected */
171 #ifdef REL99
172 UBYTE auto_repeat_flag; /* Store whether auto retransmission is
173 enabled or not */
174 BOOL is_msg_present_for_retrans; /* Store whether message is available for
175 manual retransmission */
176 #endif
177 T_ACI_CMD_SRC uiInternalSmsStorage; /* indicates to the SMSStoCnf() --> no return values */
178
179 T_ACI_CMD_SRC smsSrcId; /* The ID if the source interested in unsolicited SMS indications */
180
181 T_ACI_CSMS_SERV CSMSservice; /* +CSMS parameters */
182 T_ACI_CSMS_SUPP CSMSmt;
183 T_ACI_CSMS_SUPP CSMSmo;
184 T_ACI_CSMS_SUPP CSMSbm;
185
186 T_ACI_CNMI_MT CNMImt; /* +CNMI parameters */
187 T_ACI_CNMI_BM CNMIbm;
188 T_ACI_CNMI_DS CNMIds;
189
190
191 T_ENT_STAT2
192 smsEntStat; /* */
193
194 T_ACI_SMS_PARAMETER
195 aci_sms_parameter; /* */
196
197 T_SMS_CBM_PARAMETER
198 cbmPrm; /* */
199
200 T_TP_DATA_UNIT tpdu;
201
202 T_ACI_CMGL_SM *pDecMsg; /* pointer to decoded message */
203
204 #ifdef SIM_TOOLKIT
205 char fuRef; /* Reference for File Update */
206 #endif /* of SIM_TOOLKIT */
207
208 /* points to reply call-back */
209 union
210 {
211 T_CMSS_FCT *cmss;
212 T_CMGS_FCT *cmgs;
213 T_CMGC_FCT *cmgc;
214 T_CMGR_FCT *cmgr;
215 T_CMGW_FCT *cmgw;
216 T_CMGD_FCT *cmgd;
217 T_CMGMDU_FCT *cmgmdu;
218 #ifdef REL99
219 T_CMGRS_FCT *cmgrs;
220 #endif
221 } rplyCB;
222
223 /* points to CMS error call-back */
224 T_ERROR_FCT *errorCB;
225
226 #ifdef FF_MMI_RIV
227 T_ACI_PERC_SMBS_MOD perccmgf_smbs_mode; /* Enable SMBS: force presenting of PDU to SMBS */
228 #endif /* of FF_MMI_RIV */
229 UBYTE CMMSmode; /* Mode of CMMS command */
230
231 #ifdef FF_ATI_BAT
232
233 /*
234 * !!! For test purposes only !!!
235 * easier method of conveying alphanumeric data from BAT to ATI.
236 */
237 UBYTE alpha_len;
238 CHAR alpha[BAT_MAX_CMT_ALPHA+1];
239
240 #endif
241
242 #ifdef FF_CPHS_REL4
243 T_ACI_MWIS_MWI MWISdata;
244 #endif
245
246 } T_SMS_SHRD_PRM;
247
248
249
250 /*==== PROTOTYPES =================================================*/
251
252 void psaSMS_Init ( void );
253 void psaSMS_InitParams ( void );
254
255 /*==== EXPORT =====================================================*/
256
257 #ifdef PSA_SMSF_C
258
259 GLOBAL T_SMS_SHRD_PRM smsShrdPrm;
260 #else
261
262 EXTERN T_SMS_SHRD_PRM smsShrdPrm;
263 #endif /* PSA_SMSF_C */
264
265 EXTERN SHORT psaSMS_ReadReq ( UBYTE mem_type, USHORT rec_num,
266 UBYTE read_mode, T_ACI_SMS_STAT stat );
267
268 #ifdef TI_PS_FF_AT_P_CMD_CPRSM
269 /* ACI-ENH-19450: Added for %CPRMS command */
270 EXTERN void psaSMS_PauseReq ();
271 EXTERN void psaSMS_ResumeReq ();
272 EXTERN void psaSMS_QueryReq ( UBYTE query_type );
273 #endif /* TI_PS_FF_AT_P_CMD_CPRSM */
274
275 #ifdef FF_HOMEZONE
276 EXTERN SHORT psaMMI_homezone_req( void );
277 #endif /* FF_HOMEZONE */
278
279 #endif /* PSA_SMS_H */
280
281 /*==== EOF =======================================================*/