comparison src/g23m-aci/aci/cmh_ss.h @ 162:53929b40109c

src/g23m-aci: initial import from TCS3.2/LoCosto
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 11 Oct 2016 02:02:43 +0000
parents
children
comparison
equal deleted inserted replaced
161:4557e2a9c18e 162:53929b40109c
1 /*
2 +-----------------------------------------------------------------------------
3 | Project : GSM-PS (6147)
4 | Modul : CMH_SS
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 command handler of the
18 | Subscriber Identity Module ( SIM )
19 +-----------------------------------------------------------------------------
20 */
21
22 #ifndef CMH_SS_H
23 #define CMH_SS_H
24
25 /*==== CONSTANTS ==================================================*/
26 #define MAX_CF_FEAT_NR (5) /* maximum number of forwarding feature
27 list entries */
28 #define MAX_CB_INFO_NR (5) /* maximum number of barring info list
29 entries */
30 #define MAX_CW_BSG_NR (5) /* maximum number of basic service group
31 entries */
32 #define MAX_CC_FEAT_NR (5) /* maximum number of call completion feature
33 entries */
34 #define CCFC_TIME_MAX (30)/* +CCFC parameter <time> */
35 #define CCFC_TIME_MIN (5)
36
37 /*==== TYPES ======================================================*/
38
39 /* Structure for Index to String mapping, i.e. to each number in "idx" field corresponds "cod" string*/
40 typedef struct
41 {
42 BYTE idx;
43 char* cod;
44 } T_IDX_TO_STR_MAP;
45
46 /* Structure for Index to Digits mapping, i.e. to each number in "idx" field corresponds "cod" number*/
47 typedef struct
48 {
49 SHORT idx;
50 SHORT cod;
51 } T_IDX_TO_DIG_MAP;
52
53 typedef enum
54 {
55 CUSDR_EXT_USSD_RES_Not_Pending = 0,
56 CUSDR_EXT_USSD_RES_Request,
57 CUSDR_EXT_USSD_RES_Notify
58 }
59 T_CUSDR_EXT_USSD_RES;
60
61
62 /*==== PROTOTYPES =================================================*/
63 /* Implements Measure # 85 */
64 EXTERN BOOL cmhSS_checkCCFC_RSN(T_ACI_CCFC_RSN reason, UBYTE *ssCd);
65 /* Implements Measure # 166 */
66 EXTERN BOOL cmhSS_getSSCd(T_ACI_FAC fac, UBYTE *ssCd);
67 EXTERN BOOL checkSSforFDN(char *cSSString);
68 EXTERN T_ACI_RETURN checkFDNSendSS(T_ACI_CMD_SRC srcId, CHAR *pSSString);
69
70 EXTERN char *mapIdxToString(const T_IDX_TO_STR_MAP *table, BYTE index);
71 EXTERN BYTE mapIdxToDigit(const T_IDX_TO_DIG_MAP *table, BYTE index, BYTE * result);
72
73 #ifdef SIM_TOOLKIT
74 EXTERN T_ACI_RETURN cmhSS_SendToSAT(T_ACI_CMD_SRC srcId, CHAR *pSSString);
75 #endif /* SIM_TOOLKIT */
76
77 EXTERN T_ACI_RETURN cmhSS_CF_SAT_Handle(T_ACI_CMD_SRC srcId,
78 T_ACI_CCFC_RSN reason,
79 T_ACI_CCFC_MOD mode,
80 CHAR* number,
81 T_ACI_TOA* type,
82 T_ACI_CLASS class_type,
83 CHAR* subaddr,
84 T_ACI_TOS* satype,
85 SHORT time);
86 EXTERN T_ACI_RETURN cmhSS_CW_SAT_Handle(T_ACI_CMD_SRC srcId,
87 T_ACI_CCFC_MOD mode,
88 T_ACI_CLASS class_type);
89
90 T_ACI_RETURN cmhSS_CLIP_SAT_Handle(T_ACI_CMD_SRC srcId);
91 T_ACI_RETURN cmhSS_CLIR_SAT_Handle(T_ACI_CMD_SRC srcId);
92 T_ACI_RETURN cmhSS_COLP_SAT_Handle(T_ACI_CMD_SRC srcId);
93 T_ACI_RETURN cmhSS_COLR_SAT_Handle(T_ACI_CMD_SRC srcId);
94 T_ACI_RETURN cmhSS_CCBS_SAT_Handle(T_ACI_CMD_SRC srcId, T_ACI_CCBS_MOD mode, SHORT idx);
95 T_ACI_RETURN cmhSS_CNAP_SAT_Handle(T_ACI_CMD_SRC srcId);
96 T_ACI_RETURN cmhSS_Call_Barr_SAT_Handle(T_ACI_CMD_SRC srcId,
97 T_ACI_CLCK_MOD mode,
98 T_ACI_FAC fac,
99 CHAR *passwd,
100 T_ACI_CLASS class_type);
101
102
103 EXTERN SHORT cmhSS_TransFail ( SHORT sId );
104
105 EXTERN T_ACI_CLASS cmhSS_GetClass ( T_basicService * bs );
106 EXTERN T_ACI_CLASS cmhSS_GetClassType ( UBYTE bsTp, UBYTE bsCd );
107 EXTERN T_ACI_CLASS cmhSS_GetCbClassType ( UBYTE bsTp, UBYTE bsCd );
108 EXTERN T_ACI_CLASS cmhSS_GetClassLst ( T_basicServiceGroupList * bs );
109 EXTERN BOOL cmhSS_CheckClass ( T_ACI_CLASS class_type,
110 UBYTE *bs1, UBYTE *bst1,
111 UBYTE *bs2, UBYTE *bst2,
112 BOOL *mltyTrnFlg );
113 EXTERN BOOL cmhSS_CheckCbClass ( T_ACI_CLASS class_type,
114 UBYTE *bs1, UBYTE *bst1,
115 UBYTE *bs2, UBYTE *bst2,
116 BOOL *mltyTrnFlg );
117 EXTERN BOOL cmhSS_CheckClassInterr ( T_ACI_CLASS class_type);
118 EXTERN BOOL cmhSS_CheckCbClassInterr ( T_ACI_CLASS class_type);
119 EXTERN void cmhSS_GetBscSrv ( T_basicService * p,
120 UBYTE * bs,
121 UBYTE * bst );
122 EXTERN BOOL cmhSS_CheckBscSrv ( UBYTE bsCd,
123 UBYTE *bs, UBYTE *bst, T_ACI_CLASS *class_type );
124 EXTERN void cmhSS_flagTrn ( SHORT sId, USHORT * flags );
125 EXTERN BOOL cmhSS_tstAndUnflagTrn ( SHORT sId, USHORT * flags );
126 EXTERN void cmhSS_SSResultFailure ( SHORT sId );
127 EXTERN void cmhSS_SSInterrogated ( SHORT sId,
128 T_INTERROGATE_SS_RES *irgtSS );
129 EXTERN void cmhSS_SSRegistrated ( SHORT sId,
130 T_REGISTER_SS_RES *regSS );
131 EXTERN void cmhSS_SSErased ( SHORT sId,
132 T_ERASE_SS_RES *ersSS );
133 EXTERN void cmhSS_SSActivated ( SHORT sId,
134 T_ACTIVATE_SS_RES *actSS );
135 EXTERN void cmhSS_SSDeactivated ( SHORT sId,
136 T_DEACTIVATE_SS_RES *deactSS );
137 EXTERN void cmhSS_getPassword ( SHORT sId,
138 T_GET_PWD_INV *getPWD );
139 EXTERN void cmhSS_SSPWDRegistrated( SHORT sId,
140 T_REGISTER_PWD_RES *regPWD );
141 EXTERN void cmhSS_CCNtryErased ( SHORT sId,
142 T_ERASE_CC_ENTRY_RES *ersCCNtry );
143 EXTERN void cmhSS_USSDRequest ( SHORT sId,
144 T_USSD_REQ_INV *ussdReq );
145 EXTERN void cmhSS_USSDNotify ( SHORT sId,
146 T_USSD_NOTIFY_INV *ussdNtfy );
147 EXTERN void cmhSS_USSDReqProcessed( SHORT sId,
148 T_PROCESS_USSD_REQ_RES *prcUSSDReq );
149 EXTERN void cmhSS_USSDDatProcessed( SHORT sId,
150 T_PROCESS_USSD_RES *prcUSSDdat );
151 EXTERN void cmhSS_FwdChckSS ( SHORT sId );
152
153 #ifdef KSD_H
154 EXTERN T_ACI_RETURN cmhSS_ksdCL ( T_ACI_CMD_SRC srcId,
155 T_ACI_KSD_CL_PRM * clPrm );
156 /* Implements Measure # 38 */
157 /* cmhSS_ksdCWCBStartTrans() directly called from cmhCC_chkKeySeq() */
158 EXTERN T_ACI_RETURN cmhSS_ksdUBLK ( T_ACI_CMD_SRC srcId,
159 T_ACI_KSD_UBLK_PRM * ublkPrm );
160 EXTERN T_ACI_RETURN cmhSS_ksdPW ( T_ACI_CMD_SRC srcId,
161 T_ACI_KSD_PWD_PRM * pwPrm );
162 /* Implements Measure # 38 */
163 /* cmhSS_ksdCWCBStartTrans() directly called from cmhCC_chkKeySeq() */
164 EXTERN T_ACI_RETURN cmhSS_ksdCF ( T_ACI_CMD_SRC srcId,
165 T_ACI_KSD_CF_PRM * cfPrm );
166 EXTERN T_ACI_RETURN cmhSS_ksdUSSD ( T_ACI_CMD_SRC srcId,
167 T_ACI_KSD_USSD_PRM * ussdPrm );
168 EXTERN T_ACI_RETURN cmhSS_ksdCCBS ( T_ACI_CMD_SRC srcId,
169 T_ACI_KSD_CCBS_PRM * ccbsPrm );
170 EXTERN T_ACI_RETURN cmhSS_ksdIMEI ( T_ACI_CMD_SRC srcId );
171 #endif /* KSD_H */
172
173 EXTERN UBYTE cmhSS_ksdGetOpCd ( UBYTE opcSS );
174 EXTERN void cmhSS_ksdBuildErrRslt( SHORT sId, T_ACI_KSIR * ksStat, UBYTE err );
175 EXTERN UBYTE cmhSS_ksdFillFwdFeatList( T_forwardingFeatureList * ffSS,
176 T_CF_FEAT * cfFeat );
177 EXTERN UBYTE cmhSS_ksdFillCbFeatList( T_callBarringFeatureList * bfSS,
178 T_CB_INFO * cbInfo );
179 EXTERN UBYTE cmhSS_ksdFillBSGList ( T_basicServiceGroupList * bsgSS,
180 T_Cx_BSG * cxBSG );
181 EXTERN void cmhSS_ksdFillFwdRes ( T_forwardingInfo * fiSS,
182 T_ACI_KSIR *ksStat,
183 T_CF_FEAT * cfFeat );
184 EXTERN void cmhSS_ksdFillCbRes ( T_callBarringInfo * biSS,
185 T_ACI_KSIR *ksStat,
186 T_CB_INFO * cbInfo );
187 EXTERN void cmhSS_ksdFillCwRes ( T_ssData *datSS,
188 T_ACI_KSIR *ksStat,
189 T_Cx_BSG *cwBSG );
190 EXTERN UBYTE cmhSS_ksdFillCCBSFeatList( T_ccbsFeatureList * ccbsfSS,
191 T_CC_FEAT * ccFeat );
192
193 #ifdef TI_PS_FF_AT_P_CMD_CSCN
194 EXTERN T_ACI_RETURN cmhSS_sendFie ( T_ACI_FAC_DIR tDirection,
195 T_ACI_FAC_TRANS_TYPE tType,
196 T_fac_inf *fie );
197 #endif /* TI_PS_FF_AT_P_CMD_CSCN */
198
199 EXTERN UBYTE cmhSS_getCdFromImei ( T_ACI_IMEI* imei );
200
201 /* Implements Measure # 38 */
202 EXTERN T_ACI_RETURN cmhSS_ksdCWCBStartTrans( T_ACI_CMD_SRC srcId,
203 T_ACI_KSD_CMD ksdCmd,
204 T_KSD_SEQPARAM * seqPrm );
205
206 /*==== EXPORT =====================================================*/
207 #endif /* CMH_SS_H */
208
209 /*==== EOF =======================================================*/