1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | PROJECT: $Workfile:: cmh_cphs.c $|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | $Author:: $Revision:: $|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | CREATED: $Modtime:: $|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | STATE : code |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 MODULE : CMH
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 PURPOSE : CPHS related ACI functions.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #ifndef CMH_CPHS_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #define CMH_CPHS_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 #include "aci_all.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 #include "aci_cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #include "psa.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #include "cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #include "cphs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include "aci_cphs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "ksd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "cmh_ss.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "phb.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "cmh_phb.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 typedef enum
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 CMN_FULL_PRSNT, /* all parameter present */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 CMN_PRTLY_PRSNT, /* only some parameter present */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 CMN_NOT_PRSNT /* no parameter present */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 T_CPHS_MB_CMH_CMN_STAT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 typedef enum
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 SNGL_VLD_PRSNT, /* parameter is present and in valid range */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 SNGL_INVLD_PRSNT, /* parameter is present and not in valid range */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 SNGL_NOT_PRSNT /* parameter is not present */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 T_CPHS_MB_CMH_SNGL_STAT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 typedef struct CPHSShrdParm
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 T_ACI_CMD_SRC srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 } T_CPHS_SHRD_PRM;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 LOCAL T_CPHS_SHRD_PRM cphsShrdPrm;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 | PROJECT : GSM-PS (6147) MODULE : CMH_CPHS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 | STATE : code ROUTINE : cmhCPHS_user_cb |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 PURPOSE : This is the callback used by the CPHS module to inform ACI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 of the result of an asynchroneous operation.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 GLOBAL void cmhCPHS_user_cb( T_CPHS_PARAMS *params )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 T_ACI_CMD_SRC cphsId = cphsShrdPrm.srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 int i;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 BOOL final_result = FALSE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 /* Deal with Final Results */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 switch(params->cb_type)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 case(CPHS_INIT_RES):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 final_result = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 case(CPHS_VOICE_MAIL_RES):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 final_result = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 case(CPHS_CFU_RES):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 final_result = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 if(final_result)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 if(params->operation_result EQ CPHS_OK)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 R_AT( RAT_OK, cphsId )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 ( AT_CMD_CPHS );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 R_AT( RAT_CME, cphsId )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 ( AT_CMD_CPHS, CME_ERR_NotPresent );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 /* reset cphsId */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 cphsShrdPrm.srcId = CMD_SRC_NONE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 return;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 /* Deal with Unsolicited Messages */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 switch(params->cb_type)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 case(CPHS_VOICE_MAIL_IND):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 for (i=0; i < CMD_SRC_MAX; i++)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 R_AT( RAT_CPVWI, (T_ACI_CMD_SRC)i ) (params->set_flag, params->line);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 return;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 case(CPHS_ROAM_IND):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 for (i=0; i < CMD_SRC_MAX; i++)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 R_AT( RAT_CPROAM, (T_ACI_CMD_SRC)i ) (params->set_flag);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 return;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 | PROJECT : GSM-F&D (8411) MODULE : CMH_CPHS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 | STATE : code ROUTINE : cmhCPHS_convertSimTag |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 PURPOSE : This function converts the actual tag string in the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 format used when storing it on the SIM.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 LOCAL void cmhCPHS_convertSimTag ( T_CPHS_PB_TEXT* inTag,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 UBYTE* outTag,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 UBYTE* outTagLen,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 UBYTE maxOutLen )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 UBYTE i = MINIMUM ( maxOutLen, inTag->len);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 SHORT restLen = maxOutLen - inTag->len;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 UBYTE j;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 * Convert from internal GSM to default GSM alphabet
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 for ( j = 0; j < i; j++ )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 outTag[j] = inTag->data[j];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 *outTagLen = i;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 if ( restLen > 0 )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 memset ( &outTag[i], NOT_PRESENT_8BIT, restLen);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 +----------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 | PROJECT : GSM-F&D (8411) MODULE : CMH_CPHS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 | STATE : code ROUTINE : cmhCPHS_add_mb_record|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 +----------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 PURPOSE : %CPMBW: write mailbox numbers to ME cache and SIM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 LOCAL T_ACI_RETURN cmhCPHS_add_mb_record( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 T_CPHS_MB_CMH_SNGL_STAT indexStat,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 T_CPHS_PB_TEXT* text,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 CHAR* number,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 T_ACI_TOA* type,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 SHORT index)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 T_PHB_RECORD entry; /* reuse of phonebook type */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 CHAR *pNumber = NULL; /* pointer to the number that will be saved */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 memset(&entry,0,sizeof(T_PHB_RECORD));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 TRACE_FUNCTION ("cmhCPHS_add_mb_record()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 switch ( indexStat )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 case ( SNGL_NOT_PRSNT ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 case ( SNGL_VLD_PRSNT ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 /* fill in the structure elements */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 /* process the <index> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 #ifdef TI_PS_FFS_PHB
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 entry.phy_recno = ( indexStat EQ SNGL_NOT_PRSNT ?
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 0 : ( UBYTE ) index );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 entry.index = ( indexStat EQ SNGL_NOT_PRSNT ?
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 0 : ( UBYTE ) index );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 /* process the <tag> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 if (text NEQ NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 if (text->len > PHB_MAX_TAG_LEN)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 TRACE_FUNCTION_P2("ERROR: text length (%d) > max tag length (%d)",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 text->len, PHB_MAX_TAG_LEN);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_TxtToLong );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 cmhCPHS_convertSimTag( text, entry.tag, &(entry.tag_len),
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 (UBYTE)PHB_MAX_TAG_LEN );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 /* calculate the TON/NPI field */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 entry.ton_npi = PHB_TONPI_NO_DIAL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 pNumber = number;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 if ( type EQ NULL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 cmhPHB_ksdDecodeToa(number, &pNumber, &entry);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 cmhPHB_toaMrg ( type, &entry.ton_npi );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 /* process the <number>, convert to BCD */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 if ( pNumber NEQ NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 cmhPHB_getAdrBcd ( entry.number, &entry.len,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 PHB_PACKED_NUM_LEN, pNumber );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 /*********************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 /* update the record */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 /*********************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 /* in SIM & Cache */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 cphs_ret = cphs_write_mb_number(srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 #ifdef TI_PS_FFS_PHB
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 (UBYTE)entry.phy_recno,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 entry.index,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 entry.tag,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 entry.tag_len,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 entry.len,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 entry.number,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 entry.ton_npi);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 /* map return value */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 switch (cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 case CPHS_EXEC:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 return (AT_EXCT);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 case CPHS_OK:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 return (AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 case CPHS_NOT_INIT:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotAllow );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 case CPHS_BUSY:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_SimBusy );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 case CPHS_FAIL:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_TxtToLong );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_Unknown );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 case ( SNGL_INVLD_PRSNT ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 | PROJECT : GSM-PS (6147) MODULE : CMH_CPHS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 | STATE : code ROUTINE : sAT_PercentCPHS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 PURPOSE : This is the functional counterpart to the %CPHS AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288 which is responsible for initialise/close/refresh the CPHS module.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 GLOBAL T_ACI_RETURN sAT_PercentCPHS( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292 T_ACI_CPHS_INIT init_cphs )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294 T_CPHS_RET cphs_ret = CPHS_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296 TRACE_FUNCTION ("sAT_PercentCPHS");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304 /* check parameter <init_cphs> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 switch(init_cphs)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307 case(ACI_CPHS_CLOSE):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308 cphs_ret = cphs_stop( );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 case(ACI_CPHS_INIT):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312 cphs_ret = cphs_start( cmhCPHS_user_cb );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315 case(ACI_CPHS_REFRESH):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
316 cphs_ret = cphs_refresh_data( );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
317 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
324 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
325 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
326 case(CPHS_OK):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
327 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329 case(CPHS_EXEC):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
330 cphsShrdPrm.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
331 return(AT_EXCT);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
332
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
333 case(CPHS_BUSY):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
334 return(AT_BUSY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
335
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
336 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
337 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
338 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
339 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
340
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
341
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
342 GLOBAL T_ACI_RETURN qAT_PercentCPHS( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
343 T_ACI_CPHS_INIT *init_cphs )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
344 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
345 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
346
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
347 TRACE_FUNCTION ("qAT_PercentCPHS");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
348
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
349 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
350 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
351 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
352 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
353 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
354
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
355 cphs_ret = cphs_check_status( );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
356
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
357 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
358 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
359 case(CPHS_OK):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
360 *init_cphs = ACI_CPHS_INIT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
361 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
362
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
363 case(CPHS_BUSY):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
364 *init_cphs = ACI_CPHS_BUSY;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
365 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
366
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
367 case(CPHS_NOT_INIT):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
368 *init_cphs = ACI_CPHS_CLOSE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
369 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
370 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
371
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
372 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
373 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
374
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
375 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
376 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
377 | PROJECT : GSM-PS (6147) MODULE : CMH_CPHS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
378 | STATE : code ROUTINE : sAT_PercentCPNUMS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
379 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
380
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
381 PURPOSE : This is the functional counterpart to the %CPNUMS AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
382 which is responsible for managing the CPHS information numbers feature.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
383 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
384
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
385 LOCAL T_ACI_RETURN cmhCPHS_get_info_number_element( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
386 UBYTE element_id )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
387 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
388 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
389 T_CPHS_INF_NUM info_number; /* dynamic ??? */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
390
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
391 TRACE_FUNCTION ("cmhCPHS_get_info_number_element( )");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
392
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
393 cphs_ret = cphs_read_info_nb (element_id, &info_number);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
394
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
395 if(cphs_ret NEQ CPHS_OK)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
396 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
397 TRACE_ERROR("cmhCPHS_get_info_number_element: unexpected error");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
398 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
399 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
400
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
401 R_AT( RAT_CPNUMS, srcId )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
402 (element_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
403 info_number.index_level,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
404 info_number.alpha_tag,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
405 info_number.number,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
406 info_number.premium_flag,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
407 info_number.network_flag,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
408 info_number.type_of_address);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
409
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
410 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
411 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
412
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
413 LOCAL T_ACI_RETURN cmhCPHS_get_folder_elements( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
414 UBYTE element_id )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
415 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
416 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
417 UBYTE *info_nums_list;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
418 UBYTE list_size;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
419 UBYTE i;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
420 T_ACI_RETURN ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
421
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
422 TRACE_FUNCTION ("cmhCPHS_get_folder_elements( )");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
423
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
424 list_size = 10; /* first try with 10 entries */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
425 MALLOC(info_nums_list, list_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
426 cphs_ret = cphs_explore_info_nbs(element_id, info_nums_list, &list_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
427
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
428 TRACE_EVENT_P3("cphs_ret: %d, info_nums_list: %s, list_size: %d", cphs_ret, info_nums_list, list_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
429
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
430 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
431 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
432 case(CPHS_OK):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
433 if((*info_nums_list EQ 0) AND (list_size NEQ 0))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
434 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
435 TRACE_EVENT_P1("Folder element %d is empty", element_id);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
436 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
437 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
438 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
439
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
440 case(CPHS_EXEC):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
441 /* list was too small: size needed has been written in list_size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
442 TRACE_EVENT_P1("List was too small: needed: %d bytes", list_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
443 MFREE(info_nums_list);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
444
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
445 MALLOC(info_nums_list, list_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
446 cphs_ret = cphs_explore_info_nbs(element_id, info_nums_list, &list_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
447
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
448 if(cphs_ret NEQ CPHS_OK)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
449 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
450 TRACE_ERROR("cmhCPHS_get_folder_elements: unexpected error");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
451 MFREE(info_nums_list);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
452 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
453 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
454 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
455
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
456 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
457 MFREE(info_nums_list);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
458 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
459 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
460
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
461 /* Get all elements of folder and send to user */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
462 for(i=0;i<list_size;i++)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
463 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
464 ret = cmhCPHS_get_info_number_element(srcId, info_nums_list[i]);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
465
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
466 if(ret NEQ AT_CMPL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
467 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
468 TRACE_EVENT_P1("Wrong Information Number: index ignored: %d...", info_nums_list[i]);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
469 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
470 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
471 MFREE(info_nums_list);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
472 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
473 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
474
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
475 GLOBAL T_ACI_RETURN sAT_PercentCPNUMS( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
476 UBYTE element_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
477 UBYTE mode )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
478 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
479 T_ACI_RETURN ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
480
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
481 TRACE_FUNCTION ("sAT_PercentCPNUMS");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
482
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
483 TRACE_EVENT_P1("elemt: %d", element_id);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
484
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
485 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
486 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
487 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
488 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
489 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
490
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
491 /* check parameter <mode> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
492 switch(mode)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
493 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
494 case(CPNUMS_MODE_EXPLORE):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
495 TRACE_EVENT_P1("CPNUMS mode exploring: folder: %d", element_id);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
496 return(cmhCPHS_get_folder_elements(srcId, element_id));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
497
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
498 case(CPNUMS_MODE_QUERY):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
499 TRACE_EVENT_P1("CPNUMS mode querying: element: %d", element_id);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
500
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
501 ret = cmhCPHS_get_info_number_element(srcId, element_id);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
502
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
503 if(ret NEQ AT_CMPL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
504 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
505 TRACE_ERROR("sAT_PercentCPNUMS: unexpected error");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
506 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
507 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
508 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
509
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
510 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
511 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
512 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
513 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
514 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
515
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
516 /* returns whole table */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
517 GLOBAL T_ACI_RETURN tAT_PercentCPNUMS( T_ACI_CMD_SRC srcId )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
518 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
519 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
520 T_ACI_RETURN ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
521 UBYTE i;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
522 UBYTE max_index;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
523
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
524 TRACE_FUNCTION ("tAT_PercentCPNUMS");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
525
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
526 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
527 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
528 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
529 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
530 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
531
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
532 cphs_ret = cphs_info_num_get_max(&max_index);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
533
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
534 if(cphs_ret NEQ CPHS_OK)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
535 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
536 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
537 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
538
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
539 for(i=1; i<(max_index+1); i++)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
540 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
541 ret = cmhCPHS_get_info_number_element(srcId, i);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
542
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
543 if(ret NEQ AT_CMPL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
544 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
545 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
546 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
547 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
548 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
549 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
550
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
551 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
552 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
553 | PROJECT : GSM-PS (6147) MODULE : CMH_CPHS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
554 | STATE : code ROUTINE : qAT_PercentCPALS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
555 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
556
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
557 PURPOSE : This is the functional counterpart to the %CPALS AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
558 which is responsible for managing the CPHS alternate line service feature.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
559 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
560
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
561 GLOBAL T_ACI_RETURN qAT_PercentCPALS( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
562 UBYTE call_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
563 T_CPHS_LINES *line,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
564 CHAR *line_desc,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
565 UBYTE *max_line_desc)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
566 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
567 T_CPHS_RET ret_val;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
568 TRACE_FUNCTION ("qAT_PercentCPALS");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
569
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
570 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
571 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
572 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
573 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
574 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
575
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
576 ret_val=cphs_get_line((UBYTE)srcId, call_id, line, line_desc, max_line_desc);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
577 switch(ret_val)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
578 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
579 case(CPHS_OK): return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
580 case(CPHS_EXEC): return(AT_EXCT);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
581 case(CPHS_BUSY):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
582 case(CPHS_NOT_INIT): return(AT_BUSY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
583 case(CPHS_FAIL):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
584 default: return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
585 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
586
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
587 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
588
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
589 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
590 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
591 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
592 | STATE : code ROUTINE : AT_PercentCPVWI |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
593 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
594
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
595 PURPOSE : %CPVWI: set/clear/query voice message waiting flags
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
596 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
597
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
598 GLOBAL T_ACI_RETURN sAT_PercentCPVWI( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
599 UBYTE flag_set,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
600 USHORT lines)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
601 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
602 T_CPHS_RET cphs_ret = CPHS_OK;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
603
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
604 TRACE_FUNCTION ("sAT_PercentCPVWI()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
605
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
606 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
607 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
608 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
609 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
610 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
611
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
612 /* check parameter <flag_set> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
613 switch(flag_set)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
614 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
615 case(CPHS_SET_WAITING_FLAG):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
616 case(CPHS_ERASE_WAITING_FLAG):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
617 cphs_ret = cphs_set_waiting_flag(flag_set, lines);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
618 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
619
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
620 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
621 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
622 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
623 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
624
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
625 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
626 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
627 case(CPHS_EXEC):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
628 cphsShrdPrm.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
629 return(AT_EXCT);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
630
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
631 case(CPHS_BUSY):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
632 return(AT_BUSY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
633
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
634 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
635 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
636 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
637 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
638
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
639
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
640 GLOBAL T_ACI_RETURN qAT_PercentCPVWI( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
641 UBYTE *flag_set,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
642 USHORT line)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
643 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
644 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
645
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
646 TRACE_FUNCTION ("qAT_PercentCPVWI()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
647
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
648 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
649 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
650 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
651 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
652 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
653
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
654 cphs_ret = cphs_get_waiting_flag(flag_set, line);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
655
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
656 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
657 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
658 case(CPHS_OK):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
659 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
660
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
661 case(CPHS_BUSY):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
662 *flag_set = CPHS_FLAG_ERROR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
663 return(AT_BUSY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
664
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
665 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
666 *flag_set = CPHS_FLAG_ERROR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
667 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
668 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
669
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
670 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
671
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
672
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
673 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
674 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
675 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
676 | STATE : code ROUTINE : AT_PercentCPOPN |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
677 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
678
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
679 PURPOSE : %CPOPN: query operator name long and short string
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
680 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
681
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
682 GLOBAL T_ACI_RETURN qAT_PercentCPOPN( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
683 CHAR *longname,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
684 UBYTE *max_longname,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
685 CHAR *shortname,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
686 UBYTE *max_shortname)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
687 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
688 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
689
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
690 TRACE_FUNCTION ("qAT_PercentCPOPN()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
691
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
692 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
693 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
694 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
695 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
696 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
697
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
698 cphs_ret = cphs_get_opn( longname, max_longname, shortname, max_shortname);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
699
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
700 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
701 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
702 case(CPHS_OK):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
703 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
704
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
705 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
706 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
707 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
708 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
709
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
710 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
711 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
712 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
713 | STATE : code ROUTINE : AT_PercentCPINF |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
714 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
715
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
716 PURPOSE : %CPINF: write CSP ( Customer Service Profile )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
717 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
718
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
719 GLOBAL T_ACI_RETURN sAT_PercentCPINF( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
720 UBYTE *csp,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
721 UBYTE csp_len)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
722 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
723 UBYTE phase;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
724 USHORT sst;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
725 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
726
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
727 TRACE_FUNCTION ("sAT_PercentCPINF()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
728
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
729 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
730 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
731 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
732 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
733 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
734
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
735 cphs_ret = cphs_get_cphs_info(&phase, &sst);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
736
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
737 if ( cphs_ret EQ CPHS_OK)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
738 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
739 if ( CPHS_CHECK_SST(sst, CPHS_SERVICE_CSP, CPHS_SERVICE_ACTIVATED) )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
740 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
741 cphs_ret = cphs_set_csp_value(srcId, csp, csp_len);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
742 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
743 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
744 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
745 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotAllow );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
746 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
747 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
748 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
749
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
750 switch (cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
751 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
752 case CPHS_EXEC:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
753 return (AT_EXCT);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
754 case CPHS_OK:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
755 return (AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
756 case CPHS_BUSY:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
757 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_SimBusy );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
758 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
759 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
760 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotAllow );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
761 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
762 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
763 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
764
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
765 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
766 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
767 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
768 | STATE : code ROUTINE : AT_PercentCPINF |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
769 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
770
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
771 PURPOSE : %CPINF: query cphs information and customer service profile
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
772 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
773
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
774 GLOBAL T_ACI_RETURN qAT_PercentCPINF( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
775 UBYTE *phase,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
776 USHORT *sst,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
777 CHAR *csp,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
778 CHAR *csp2,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
779 UBYTE *max_csp_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
780 UBYTE *max_csp2_size)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
781 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
782 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
783
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
784 TRACE_FUNCTION ("qAT_PercentCPINF()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
785
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
786 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
787 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
788 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
789 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
790 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
791
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
792 cphs_ret = cphs_get_cphs_info(phase, sst);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
793
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
794 if ( cphs_ret EQ CPHS_OK)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
795 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
796 if ( CPHS_CHECK_SST(*sst, CPHS_SERVICE_CSP, CPHS_SERVICE_ACTIVATED) )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
797 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
798 cphs_ret = cphs_get_csprof( csp, csp2, max_csp_size, max_csp2_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
799 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
800 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
801 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
802 TRACE_EVENT("CSP is not activated in the SST");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
803 *max_csp_size = 0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
804 *max_csp2_size = 0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
805 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
806 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
807 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
808 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
809 *max_csp_size = 0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
810 *max_csp2_size = 0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
811 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
812
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
813 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
814 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
815 case(CPHS_OK):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
816 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
817
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
818 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
819 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
820 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
821 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
822
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
823 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
824 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
825 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
826 | STATE : code ROUTINE : sAT_PercentCPCFU |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
827 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
828
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
829 PURPOSE : %CPFCU: set call forwarding flags
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
830 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
831
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
832 GLOBAL T_ACI_RETURN sAT_PercentCPCFU( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
833 UBYTE cfu_set,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
834 T_CPHS_LINES lines )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
835 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
836 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
837
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
838 TRACE_FUNCTION ("sAT_PercentCPCFU()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
839
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
840 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
841 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
842 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
843 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
844 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
845
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
846 /* check parameter <cfu_set> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
847 switch(cfu_set)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
848 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
849 case(CPHS_SET_CFU_FLAG):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
850 case(CPHS_ERASE_CFU_FLAG):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
851 cphs_ret = cphs_set_cfu_flag(cfu_set, lines);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
852 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
853
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
854 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
855 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
856 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
857 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
858
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
859 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
860 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
861 case(CPHS_EXEC):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
862 cphsShrdPrm.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
863 return(AT_EXCT);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
864
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
865 case(CPHS_BUSY):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
866 return(AT_BUSY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
867
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
868 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
869 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
870 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
871 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
872
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
873 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
874 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
875 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
876 | STATE : code ROUTINE : AT_PercentCPCFU |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
877 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
878
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
879 PURPOSE : %CPCFU: query call forwarding flags
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
880 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
881
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
882 GLOBAL T_ACI_RETURN qAT_PercentCPCFU(T_ACI_CMD_SRC srcId, UBYTE *cfu_set, T_CPHS_LINES line)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
883 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
884 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
885
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
886 TRACE_FUNCTION ("qAT_PercentCPCFU()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
887
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
888 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
889 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
890 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
891 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
892 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
893
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
894 cphs_ret = cphs_get_fwd_flag(cfu_set, line);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
895
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
896 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
897 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
898 case(CPHS_OK):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
899 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
900
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
901 case(CPHS_BUSY):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
902 *cfu_set = CPHS_FLAG_ERROR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
903 return(AT_BUSY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
904
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
905 case(CPHS_NOT_INIT):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
906 *cfu_set = CPHS_FLAG_ERROR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
907 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotAllow );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
908 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
909 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
910 *cfu_set = CPHS_FLAG_ERROR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
911 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
912 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
913 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
914
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
915 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
916 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
917 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
918 | STATE : code ROUTINE : AT_PercentCPMB |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
919 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
920
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
921 PURPOSE : %CPMB: query mailbox numbers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
922
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
923 This function deals with both the set and query aspects of the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
924 %CPMB command. If 'rec_id' is present, indicating a set operation,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
925 it will return information about the specified mailbox number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
926 (parameters 'line', 'number', 'ton', 'npi' and 'alpha_id'). If\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
927 'rec_id' is set to ACI_NumParmNotPresent, indicating a query
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
928 operation, it will return the index of the first unused entry in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
929 the list (parameter 'first').
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
930 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
931
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
932 GLOBAL T_ACI_RETURN qAT_PercentCPMB( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
933 UBYTE rec_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
934 T_CPHS_LINES *line,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
935 CHAR *number,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
936 T_ACI_TOA_TON *ton,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
937 T_ACI_TOA_NPI *npi,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
938 CHAR *alpha_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
939 UBYTE *first)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
940 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
941 T_CPHS_MB mb_number;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
942 T_CPHS_RET cphs_ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
943
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
944 TRACE_FUNCTION ("qAT_PercentCPMB()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
945
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
946 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
947 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
948 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
949 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
950 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
951
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
952 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
953 * Determine the first free location, and write it to the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
954 * memory pointed to by 'first', having first checked that
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
955 * it is not set to NULL.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
956 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
957 if (first NEQ NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
958 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
959 if (cphs_first_free(first) NEQ CPHS_OK)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
960 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
961 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
962 * It is assumed that cphs_first_free() will have filled in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
963 * the error number (ACI_ERR_DESC).
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
964 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
965 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
966 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
967 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
968
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
969 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
970 * No further processing needed for the 'query' command, so
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
971 * unless we are dealing with the 'set' command, get
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
972 * out now.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
973 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
974 if (rec_id EQ (UBYTE)ACI_NumParmNotPresent)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
975 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
976
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
977 cphs_ret = cphs_read_mb_number(rec_id, &mb_number);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
978
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
979 switch(cphs_ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
980 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
981 case(CPHS_OK):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
982 memcpy(number, mb_number.number, sizeof(mb_number.number));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
983 memcpy(alpha_id, mb_number.alpha_id, sizeof(mb_number.alpha_id));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
984 *line = mb_number.line;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
985 if ( mb_number.toa EQ NOT_PRESENT_8BIT)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
986 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
987 *ton = TON_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
988 *npi = NPI_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
989 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
990 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
991 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
992 *ton = (T_ACI_TOA_TON)(( mb_number.toa & 0x70 ) >> 4);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
993 *npi = (T_ACI_TOA_NPI)(mb_number.toa & 0x0F);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
994 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
995 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
996
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
997 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
998 /* All errors are filled in cphs_read_mb_number(), thus do not fill any CmeError,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
999 just returning AT_FAIL */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1000 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1001 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1002 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1003
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1004 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1005 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1006 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1007 | STATE : code ROUTINE : AT_PercentCPMBW |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1008 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1009
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1010 PURPOSE : %CPMBW: write mailbox numbers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1011 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1012
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1013 GLOBAL T_ACI_RETURN sAT_PercentCPMBW( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1014 SHORT index,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1015 CHAR* number,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1016 T_ACI_TOA* type,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1017 T_CPHS_PB_TEXT* text)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1018 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1019
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1020 T_CPHS_MB_CMH_SNGL_STAT indexStat; /* status of parameter <index> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1021 T_CPHS_MB_CMH_CMN_STAT entryStat; /* status of parameter <number>, */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1022 /* <type> and <text> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1023 T_ACI_RETURN aci_result;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1024 T_CPHS_RET cphs_result;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1025
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1026 TRACE_FUNCTION ("sAT_PercentCPMBW()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1027
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1028 #ifndef NO_ASCIIZ
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1029 /* convert Text */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1030 if ( text NEQ NULL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1031 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1032 UBYTE tmpBuf[CPHS_MAX_MB_ALPHA_LEN];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1033 USHORT len;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1034 text->cs = CS_Sim;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1035 cmh_cvtToDefGsm ( (CHAR*)text->data, (CHAR*)tmpBuf, &len );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1036 text->len = (UBYTE)len;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1037 memcpy ( text->data, tmpBuf, text->len );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1038 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1039 #endif /* #ifndef NO_ASCIIZ */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1040
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1041 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1042 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1043 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1044 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1045 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1046
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1047 /* process the status of parameter <index> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1048 if ( index EQ ACI_NumParmNotPresent )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1049 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1050 indexStat = SNGL_NOT_PRSNT; /* NOT PRESENT */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1051 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1052 else if( index > CPHS_MAX_MB_ENTRIES OR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1053 index < CPHS_MIN_MB_ENTRIES )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1054 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1055 indexStat = SNGL_INVLD_PRSNT; /* INVALID */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1056 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1057 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1058 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1059 indexStat = SNGL_VLD_PRSNT; /* VALID */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1060 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1061
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1062 /* process the status of parameter <number>, <type> and <text> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1063 if ( number EQ NULL AND
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1064 type EQ NULL AND
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1065 text EQ NULL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1066 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1067 entryStat = CMN_NOT_PRSNT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1068 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1069 else if ( number NEQ NULL AND
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1070 text NEQ NULL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1071 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1072 entryStat = CMN_FULL_PRSNT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1073 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1074 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1075 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1076 entryStat = CMN_PRTLY_PRSNT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1077 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1078
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1079 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1080 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1081 * process the parameter:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1082 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1083 * A -> number, type, text
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1084 * B -> index
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1085 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1086 * 0 -> all elements not present
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1087 * 1 -> all elements present
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1088 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1089 * A | B | result
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1090 * --+---+---------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1091 * 0 | 0 | fail
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1092 * 0 | 1 | delete entry
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1093 * 1 | 0 | write to first empty entry
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1094 * 1 | 1 | write to specific entry
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1095 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1096 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1097
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1098 switch ( entryStat )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1099 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1100 case ( CMN_FULL_PRSNT):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1101 case ( CMN_PRTLY_PRSNT ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1102 /* parameters are full or partly present --> add entry to phonebook */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1103
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1104 aci_result = cmhCPHS_add_mb_record(srcId, indexStat, text, number, type, index);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1105
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1106 return(aci_result);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1107
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1108 /* process variable <entryStat> with value <CMN_NOT_PRSNT> */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1109 case ( CMN_NOT_PRSNT ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1110
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1111 if ( indexStat NEQ SNGL_VLD_PRSNT )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1112 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1113 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1114 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1115 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1116
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1117 if (indexStat EQ SNGL_VLD_PRSNT)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1118 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1119 /* delete this very entry */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1120 cphs_result = cphs_write_mb_number(srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1121 (UBYTE)index,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1122 NULL, /* tag */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1123 0,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1124 0,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1125 NULL, /* number */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1126 0);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1127 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1128 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1129 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1130 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_InvIdx );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1131 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1132 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1133
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1134 switch (cphs_result)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1135 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1136 case CPHS_EXEC:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1137 return (AT_EXCT);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1138 case CPHS_OK:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1139 return (AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1140 case CPHS_NOT_INIT:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1141 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotAllow );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1142 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1143 case CPHS_FAIL:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1144 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_InvIdx );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1145 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1146 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1147 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_TxtToLong );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1148 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1149 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1150 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1151
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1152 return ( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1153
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1154 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1155
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1156 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1157 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1158 | PROJECT : GSM-F&D (8411) MODULE : ACI_CMD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1159 | STATE : code ROUTINE : AT_PercentCPMBW |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1160 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1161
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1162 PURPOSE : %CPMBW: test command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1163 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1164
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1165 GLOBAL T_ACI_RETURN tAT_PercentCPMBW ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1166 SHORT* firstIdx,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1167 SHORT* lastIdx,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1168 UBYTE* nlength,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1169 UBYTE* tlength )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1170 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1171 T_CPHS_RET cphs_result;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1172
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1173 TRACE_FUNCTION("tAT_PercentCPMBW()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1174
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1175 /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1176 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1177 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1178 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1179 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1180
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1181 cphs_result = cphs_get_mb_parameter ( firstIdx, lastIdx, nlength, tlength );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1182 switch (cphs_result)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1183 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1184 case CPHS_OK:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1185 return (AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1186 case CPHS_NOT_INIT:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1187 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotAllow );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1188 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1189 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1190 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_Unknown );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1191 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1192 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1193 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1194 #endif /* CPHS_C */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1195
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1196
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1197
|