FreeCalypso > hg > freecalypso-citrine
comparison g23m-aci/aci/aci_pei.c @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:75a11d740a02 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : | |
4 | Modul : | |
5 +----------------------------------------------------------------------------- | |
6 | Copyright 2002 Texas Instruments Berlin, AG | |
7 | All rights reserved. | |
8 | | |
9 | This file is confidential and a trade secret of Texas | |
10 | Instruments Berlin, AG | |
11 | The receipt of or possession of this file does not convey | |
12 | any rights to reproduce or disclose its contents or to | |
13 | manufacture, use, or sell anything it may describe, in | |
14 | whole, or in part, without the specific written consent of | |
15 | Texas Instruments Berlin, AG. | |
16 +----------------------------------------------------------------------------- | |
17 | Purpose : This module implements the process body interface | |
18 | for the AT Command Interpreter. | |
19 +----------------------------------------------------------------------------- | |
20 */ | |
21 | |
22 #ifndef ACI_PEI_C | |
23 #define ACI_PEI_C | |
24 | |
25 #include "config.h" | |
26 #include "fixedconf.h" | |
27 #include "condat-features.h" | |
28 #include "aci_conf.h" | |
29 | |
30 #include "aci_all.h" | |
31 | |
32 #include "ccdapi.h" | |
33 #include "cnf_aci.h" | |
34 #include "mon_aci.h" /* mouais... */ | |
35 #include "p_aci.val" /* SKA 2002-09-02 for MAX_CMD_LEN */ | |
36 #include "line_edit.h" /* SKA 2002-09-02 */ | |
37 #include "aci_cmh.h" | |
38 #include "ati_cmd.h" | |
39 #include "aci_cmd.h" | |
40 #include "aci.h" | |
41 #include "aci_mem.h" | |
42 | |
43 #if 0 //#ifndef _SIMULATION_ // FreeCalypso change | |
44 #include "rv_swe.h" | |
45 #ifdef RVM_GIL_SWE | |
46 #include "gil/gil_gpf.h" /* MMI_GIL_IND dispatch function */ | |
47 #endif /* RVM_GIL_SWE */ | |
48 #endif /* _SIMULATION_ */ | |
49 | |
50 | |
51 #include "psa.h" | |
52 #include "psa_cc.h" | |
53 #include "psa_mm.h" | |
54 #include "psa_sim.h" | |
55 #include "psa_mmi.h" | |
56 #include "psa_sms.h" | |
57 #include "aoc.h" | |
58 #include "phb.h" | |
59 #include "hl_audio_drv.h" | |
60 | |
61 #include "aci_lst.h" | |
62 | |
63 #ifdef DTI | |
64 #include "dti.h" /* functionality of the dti library */ | |
65 #include "dti_conn_mng.h" | |
66 #include "dti_cntrl_mng.h" | |
67 #endif | |
68 | |
69 #ifdef GPRS | |
70 #include "gprs.h" | |
71 #include "gaci_cmh.h" | |
72 #include "psa_gmm.h" | |
73 #include "psa_sm.h" | |
74 #include "psa_gppp.h" | |
75 #include "psa_upm.h" | |
76 #include "psa_snd.h" | |
77 #endif /* GPRS */ | |
78 | |
79 #ifdef UART | |
80 #include "psa_uart.h" | |
81 #include "cmh_uart.h" | |
82 #endif | |
83 | |
84 #ifdef FF_ATI | |
85 #include "aci_io.h" | |
86 #endif | |
87 | |
88 #ifdef FF_PSI | |
89 #include "psa_psi.h" | |
90 #include "cmh_psi.h" | |
91 #endif /*FF_PSI*/ | |
92 | |
93 #ifdef FAX_AND_DATA | |
94 #include "aci_fd.h" | |
95 #include "psa_ra.h" | |
96 #include "psa_l2r.h" | |
97 #ifdef FF_FAX | |
98 #include "psa_t30.h" | |
99 #endif | |
100 #endif | |
101 | |
102 #if defined (FF_WAP) || defined (FF_PPP) || defined(FF_GPF_TCPIP)|| defined (FF_SAT_E) | |
103 #include "psa_ppp_w.h" | |
104 #endif | |
105 #if defined (CO_UDP_IP) || defined (FF_GPF_TCP_IP) | |
106 #include "psa_tcpip.h" | |
107 #endif /* defined (CO_UDP_IP) || defined(FF_GPF_TCPIP) */ | |
108 | |
109 #include "cmh.h" | |
110 | |
111 #ifdef SIM_TOOLKIT | |
112 #include "psa_sat.h" | |
113 #endif | |
114 | |
115 #ifdef MFW | |
116 #include "mfw_acie.h" | |
117 #endif | |
118 | |
119 #include "gdi.h" | |
120 #include "audio.h" | |
121 #include "rx.h" | |
122 #include "pwr.h" | |
123 | |
124 | |
125 #ifdef BT_ADAPTER | |
126 #include "bti.h" | |
127 #include "bti_aci.h" | |
128 #endif | |
129 | |
130 #ifdef FF_PKTIO | |
131 #include "psa_pktio.h" | |
132 #endif | |
133 #ifdef _SIMULATION_ | |
134 #include "ati_src_tst.h" | |
135 #endif | |
136 | |
137 #if defined FF_EOTD | |
138 #include "ati_src_lc.h" | |
139 #endif | |
140 | |
141 #ifdef DTI | |
142 #include "sap_dti.h" | |
143 #endif | |
144 | |
145 #include "psa_ss.h" | |
146 #ifdef FF_ESIM | |
147 #include "psa_aaa.h" /* esim */ | |
148 #endif | |
149 | |
150 #ifdef FF_MMI_RIV | |
151 EXTERN void acia_init(void); | |
152 #endif | |
153 | |
154 #ifdef _SIMULATION_ | |
155 #ifdef FF_ATI_BAT | |
156 #include "ati_bat.h" | |
157 #endif | |
158 #endif | |
159 | |
160 | |
161 /*==== DEFINE =====================================================*/ | |
162 | |
163 /*==== EXPORT =====================================================*/ | |
164 | |
165 GLOBAL UBYTE mode = 1; | |
166 /* | |
167 * instance data base | |
168 */ | |
169 | |
170 /*==== PRIVATE ====================================================*/ | |
171 | |
172 LOCAL void pei_not_supported (void *data); | |
173 | |
174 /*==== VARIABLES ==================================================*/ | |
175 LOCAL BOOL first_access = TRUE; | |
176 LOCAL T_MONITOR aci_mon; | |
177 | |
178 #if defined(FF_ATI) AND defined(SIM_TOOLKIT) | |
179 EXTERN UBYTE run_at_id; | |
180 #endif | |
181 | |
182 /*==== FUNCTIONS ==================================================*/ | |
183 | |
184 #ifdef SMI | |
185 EXTERN T_PEI_RETURN _pei_init (void); | |
186 EXTERN T_PEI_RETURN _pei_primitive (T_PRIM *prim); | |
187 EXTERN T_PEI_RETURN _pei_exit (void); | |
188 EXTERN T_PEI_RETURN _pei_monitor (void ** monitor); | |
189 /* Implements Measure#36 */ | |
190 #if !defined (NCONFIG) | |
191 EXTERN T_PEI_RETURN _pei_config ( T_PEI_CONFIG inString ); | |
192 #endif /* NCONFIG */ | |
193 #endif /* SMI */ | |
194 EXTERN void tim_exec_timeout (USHORT index); | |
195 | |
196 /* | |
197 +--------------------------------------------------------------------+ | |
198 | PROJECT : GSM-F&D (8411) MODULE : RLP_PEI | | |
199 | STATE : code ROUTINE : pei_not_supported | | |
200 +--------------------------------------------------------------------+ | |
201 | |
202 PURPOSE : An unsupported primitive is received. | |
203 | |
204 */ | |
205 | |
206 LOCAL void pei_not_supported (void *data) | |
207 { | |
208 TRACE_FUNCTION ("pei_not_supported()"); | |
209 | |
210 PFREE (data); | |
211 } | |
212 | |
213 /* | |
214 * | |
215 * Use MAK_FUNC_0 for primitives which contains no SDU. | |
216 * | |
217 * Use MAK_FUNC_S for primitives which contains a SDU. | |
218 */ | |
219 | |
220 /* | |
221 * jumptable for the entity service access point. Contains | |
222 * the processing-function addresses and opcodes of | |
223 * request and response primitives. | |
224 * | |
225 */ | |
226 LOCAL const T_FUNC sim_table[] = { | |
227 MAK_FUNC_0( psa_sim_read_cnf, SIM_READ_CNF ), | |
228 MAK_FUNC_0( psa_sim_update_cnf, SIM_UPDATE_CNF ), | |
229 MAK_FUNC_0( psa_sim_read_record_cnf, SIM_READ_RECORD_CNF ), | |
230 MAK_FUNC_N( pei_not_supported, 0 ), | |
231 MAK_FUNC_0( psa_sim_update_record_cnf, SIM_UPDATE_RECORD_CNF ), | |
232 MAK_FUNC_N( pei_not_supported, 0 ), | |
233 MAK_FUNC_N( pei_not_supported, 0 ), | |
234 MAK_FUNC_N( pei_not_supported, 0 ), | |
235 MAK_FUNC_0( psa_sim_increment_cnf, SIM_INCREMENT_CNF ), | |
236 MAK_FUNC_0( psa_sim_verify_pin_cnf, SIM_VERIFY_PIN_CNF ), | |
237 MAK_FUNC_0( psa_sim_change_pin_cnf, SIM_CHANGE_PIN_CNF ), | |
238 MAK_FUNC_0( psa_sim_disable_pin_cnf, SIM_DISABLE_PIN_CNF ), | |
239 MAK_FUNC_0( psa_sim_enable_pin_cnf, SIM_ENABLE_PIN_CNF ), | |
240 MAK_FUNC_0( psa_sim_unblock_cnf, SIM_UNBLOCK_CNF ), | |
241 MAK_FUNC_N( pei_not_supported, 0 ), | |
242 MAK_FUNC_0( psa_sim_mmi_insert_ind, SIM_MMI_INSERT_IND ), | |
243 MAK_FUNC_N( pei_not_supported, 0 ), | |
244 MAK_FUNC_0( psa_sim_remove_ind, SIM_REMOVE_IND ), | |
245 MAK_FUNC_0( psa_sim_sync_cnf, SIM_SYNC_CNF ), | |
246 MAK_FUNC_0( psa_sim_activate_cnf, SIM_ACTIVATE_CNF ), | |
247 MAK_FUNC_N( pei_not_supported, 0 ),/*20*/ | |
248 #ifdef SIM_TOOLKIT | |
249 MAK_FUNC_0( psa_sim_toolkit_ind, SIM_TOOLKIT_IND ), | |
250 MAK_FUNC_0( psa_sim_toolkit_cnf, SIM_TOOLKIT_CNF ), | |
251 #else | |
252 MAK_FUNC_N( pei_not_supported, 0 ), | |
253 MAK_FUNC_N( pei_not_supported, 0 ), | |
254 #endif | |
255 MAK_FUNC_0( psa_sim_activate_ind, SIM_ACTIVATE_IND ),/*23*/ | |
256 MAK_FUNC_N( pei_not_supported, 0 ), | |
257 MAK_FUNC_0( psa_sim_access_cnf, SIM_ACCESS_CNF ), | |
258 #ifdef SIM_TOOLKIT | |
259 MAK_FUNC_0( psa_sim_file_update_ind, SIM_FILE_UPDATE_IND ), | |
260 #else | |
261 MAK_FUNC_N( pei_not_supported, 0 ), | |
262 #endif | |
263 MAK_FUNC_N( pei_not_supported, 0 ),/* SIM_GMM_INSERT_IND */ | |
264 #ifdef FF_SAT_E | |
265 MAK_FUNC_0( psa_sim_dti_cnf, SIM_DTI_CNF ),/*28*/ | |
266 MAK_FUNC_0( psa_sim_bip_cnf, SIM_BIP_CNF ),/*29*/ | |
267 MAK_FUNC_0( psa_sim_bip_config_cnf, SIM_BIP_CONFIG_CNF ),/*30*/ | |
268 MAK_FUNC_0( psa_sim_dti_bip_ind, SIM_DTI_BIP_IND ),/*31*/ | |
269 MAK_FUNC_0( psa_sim_eventlist_cnf, SIM_EVENTLIST_CNF ),/*32*/ | |
270 #else | |
271 MAK_FUNC_N( pei_not_supported, 0 ), | |
272 MAK_FUNC_N( pei_not_supported, 0 ), | |
273 MAK_FUNC_N( pei_not_supported, 0 ), | |
274 MAK_FUNC_N( pei_not_supported, 0 ), | |
275 MAK_FUNC_N( pei_not_supported, 0 ), | |
276 #endif | |
277 MAK_FUNC_N( pei_not_supported, 0 ) /*33*/ | |
278 }; | |
279 | |
280 LOCAL const T_FUNC mmr_table[] = { | |
281 MAK_FUNC_0( psa_mmr_reg_cnf, MMR_REG_CNF ), | |
282 MAK_FUNC_0( psa_mmr_nreg_ind, MMR_NREG_IND ), | |
283 MAK_FUNC_0( psa_mmr_nreg_cnf, MMR_NREG_CNF ), | |
284 MAK_FUNC_0( psa_mmr_plmn_ind, MMR_PLMN_IND ), | |
285 MAK_FUNC_0( psa_mmr_info_ind, MMR_INFO_IND ), | |
286 MAK_FUNC_0( psa_mmr_ciphering_ind, MMR_CIPHERING_IND ), | |
287 MAK_FUNC_0( psa_mmr_ahplmn_ind, MMR_AHPLMN_IND ) | |
288 }; | |
289 | |
290 LOCAL const T_FUNC mncc_table[] = { | |
291 MAK_FUNC_0( psa_mncc_alert_ind, MNCC_ALERT_IND ), | |
292 MAK_FUNC_0( psa_mncc_call_proceed_ind, MNCC_CALL_PROCEED_IND ), | |
293 MAK_FUNC_0( psa_mncc_disconnect_ind, MNCC_DISCONNECT_IND ), | |
294 MAK_FUNC_0( psa_mncc_hold_cnf, MNCC_HOLD_CNF ), | |
295 MAK_FUNC_0( psa_mncc_modify_cnf, MNCC_MODIFY_CNF ), | |
296 MAK_FUNC_0( psa_mncc_modify_ind, MNCC_MODIFY_IND ), | |
297 MAK_FUNC_N( pei_not_supported, 0 ), | |
298 MAK_FUNC_0( psa_mncc_progress_ind, MNCC_PROGRESS_IND ), | |
299 MAK_FUNC_0( psa_mncc_reject_ind, MNCC_REJECT_IND ), | |
300 MAK_FUNC_0( psa_mncc_release_cnf, MNCC_RELEASE_CNF ), | |
301 MAK_FUNC_0( psa_mncc_release_ind, MNCC_RELEASE_IND ), | |
302 MAK_FUNC_0( psa_mncc_retrieve_cnf, MNCC_RETRIEVE_CNF ), | |
303 MAK_FUNC_0( psa_mncc_setup_cnf, MNCC_SETUP_CNF ), | |
304 MAK_FUNC_0( psa_mncc_setup_compl_ind, MNCC_SETUP_COMPL_IND ), | |
305 MAK_FUNC_0( psa_mncc_setup_ind, MNCC_SETUP_IND ), | |
306 MAK_FUNC_0( psa_mncc_start_dtmf_cnf, MNCC_START_DTMF_CNF ), | |
307 MAK_FUNC_0( psa_mncc_sync_ind, MNCC_SYNC_IND ), | |
308 MAK_FUNC_0( psa_mncc_user_ind, MNCC_USER_IND ), | |
309 MAK_FUNC_0( psa_mncc_facility_ind, MNCC_FACILITY_IND ), | |
310 MAK_FUNC_0( psa_mncc_bearer_cap_cnf, MNCC_BEARER_CAP_CNF ), | |
311 MAK_FUNC_0( psa_mncc_prompt_ind, MNCC_PROMPT_IND ), | |
312 MAK_FUNC_0( psa_mncc_recall_ind, MNCC_RECALL_IND ), | |
313 MAK_FUNC_0( psa_mncc_status_ind, MNCC_STATUS_IND ) | |
314 }; | |
315 | |
316 LOCAL const T_FUNC mnss_table[] = { | |
317 MAK_FUNC_0( psa_mnss_begin_ind, MNSS_BEGIN_IND ), | |
318 MAK_FUNC_0( psa_mnss_facility_ind, MNSS_FACILITY_IND ), | |
319 MAK_FUNC_0( psa_mnss_end_ind, MNSS_END_IND ) | |
320 }; | |
321 | |
322 LOCAL const T_FUNC mnsms_table[] = { | |
323 MAK_FUNC_0( psa_mnsms_delete_cnf, MNSMS_DELETE_CNF ), | |
324 MAK_FUNC_0( psa_mnsms_read_cnf, MNSMS_READ_CNF ), | |
325 MAK_FUNC_0( psa_mnsms_store_cnf, MNSMS_STORE_CNF ), | |
326 MAK_FUNC_0( psa_mnsms_submit_cnf, MNSMS_SUBMIT_CNF ), | |
327 MAK_FUNC_0( psa_mnsms_command_cnf, MNSMS_COMMAND_CNF ), | |
328 #ifdef REL99 | |
329 MAK_FUNC_0( psa_mnsms_retrans_cnf, MNSMS_RETRANS_CNF ), | |
330 #else | |
331 MAK_FUNC_N( pei_not_supported, 0 ), | |
332 #endif /* REL99 */ | |
333 MAK_FUNC_0( psa_mnsms_report_ind, MNSMS_REPORT_IND ), | |
334 MAK_FUNC_0( psa_mnsms_status_ind, MNSMS_STATUS_IND ), | |
335 MAK_FUNC_0( psa_mnsms_message_ind, MNSMS_MESSAGE_IND ), | |
336 MAK_FUNC_0( psa_mnsms_error_ind, MNSMS_ERROR_IND ), | |
337 #ifdef TI_PS_FF_AT_P_CMD_CPRSM | |
338 MAK_FUNC_0( psa_mnsms_resume_cnf, MNSMS_RESUME_CNF ), | |
339 MAK_FUNC_0( psa_mnsms_query_cnf, MNSMS_QUERY_CNF ), | |
340 #else | |
341 MAK_FUNC_N( pei_not_supported, 0 ), | |
342 MAK_FUNC_N( pei_not_supported, 0 ), | |
343 #endif | |
344 #ifdef GPRS | |
345 MAK_FUNC_0( psa_mnsms_mo_serv_cnf, MNSMS_MO_SERV_CNF ), | |
346 #else | |
347 MAK_FUNC_N( pei_not_supported, 0 ), | |
348 #endif /* GPRS */ | |
349 MAK_FUNC_0( psa_mnsms_OTA_message_ind, MNSMS_OTA_MESSAGE_IND ), | |
350 #ifdef REL99 | |
351 MAK_FUNC_0( psa_mnsms_send_prog_ind, MNSMS_SEND_PROG_IND ) | |
352 #else | |
353 MAK_FUNC_N( pei_not_supported, 0 ) | |
354 #endif | |
355 | |
356 }; | |
357 | |
358 LOCAL const T_FUNC mmi_table[] = { | |
359 MAK_FUNC_0( psa_mmi_keypad_ind, MMI_KEYPAD_IND ), | |
360 MAK_FUNC_0( psa_mmi_cbch_ind, MMI_CBCH_IND ), | |
361 MAK_FUNC_0( psa_mmi_rxlev_ind, MMI_RXLEV_IND ), | |
362 MAK_FUNC_0( psa_mmi_battery_ind, MMI_BATTERY_IND ), | |
363 #ifdef SIM_TOOLKIT | |
364 MAK_FUNC_0( psa_sat_cbch_dnl_ind, MMI_SAT_CBCH_DWNLD_IND ), | |
365 #else | |
366 MAK_FUNC_N( pei_not_supported, 0 ), | |
367 #endif | |
368 #ifdef BTE_MOBILE | |
369 MAK_FUNC_0( psa_mmi_bt_cb_notify_ind, MMI_BT_CB_NOTIFY_IND ), | |
370 #else | |
371 MAK_FUNC_N( pei_not_supported, 0 ), | |
372 #endif | |
373 #ifdef RVM_GIL_SWE | |
374 MAK_FUNC_N( pei_not_supported, 0 ), /* RPD MSG ? */ | |
375 MAK_FUNC_0( gil_gpf_dispatch_message, MMI_GIL_IND ), | |
376 #else | |
377 MAK_FUNC_N( pei_not_supported, 0 ), | |
378 MAK_FUNC_N( pei_not_supported, 0 ), | |
379 #endif /* RVM_GIL_SWE */ | |
380 #ifndef VOCODER_FUNC_INTERFACE | |
381 MAK_FUNC_0( psa_mmi_tch_vocoder_cfg_con, MMI_TCH_VOCODER_CFG_CON ) | |
382 #else | |
383 MAK_FUNC_N( pei_not_supported, 0 ) | |
384 #endif | |
385 }; | |
386 | |
387 #ifdef DTI | |
388 LOCAL const T_FUNC dti_dl_table[] = { | |
389 MAK_FUNC_0( dti_lib_dti_dti_connect_ind , DTI2_CONNECT_IND ), /* 7700x */ | |
390 MAK_FUNC_0( dti_lib_dti_dti_connect_cnf , DTI2_CONNECT_CNF ), /* 7701x */ | |
391 MAK_FUNC_0( dti_lib_dti_dti_disconnect_ind , DTI2_DISCONNECT_IND ), /* 7702x */ | |
392 MAK_FUNC_0( dti_lib_dti_dti_ready_ind , DTI2_READY_IND ), /* 7703x */ | |
393 MAK_FUNC_0( dti_lib_dti_dti_data_ind , DTI2_DATA_IND ), /* 7704x */ | |
394 #if defined (_SIMULATION_) | |
395 MAK_FUNC_S( dti_lib_dti_dti_data_test_ind , DTI2_DATA_TEST_IND ) | |
396 #else /* _SIMULATION_ */ | |
397 MAK_FUNC_N( pei_not_supported , 0) | |
398 #endif /* _SIMULATION_ */ | |
399 }; | |
400 #endif /* UART */ | |
401 | |
402 #ifdef FF_EM_MODE | |
403 LOCAL const T_FUNC em_table[] = { | |
404 MAK_FUNC_0( psa_em_sc_info_cnf, EM_SC_INFO_CNF ), /* 0x7E00 */ | |
405 #ifdef GPRS | |
406 MAK_FUNC_0( psa_em_sc_gprs_info_cnf, EM_SC_GPRS_INFO_CNF ), /* 0x7E01 */ | |
407 #else | |
408 MAK_FUNC_N( pei_not_supported, EM_SC_GPRS_INFO_CNF ), /* 0x7E01 */ | |
409 #endif /* GPRS */ | |
410 MAK_FUNC_0( psa_em_nc_info_cnf, EM_NC_INFO_CNF ), /* 0x7E02 */ | |
411 MAK_FUNC_0( psa_em_loc_pag_info_cnf, EM_LOC_PAG_INFO_CNF ), /* 0x7E03 */ | |
412 MAK_FUNC_0( psa_em_plmn_info_cnf, EM_PLMN_INFO_CNF ), /* 0x7E04 */ | |
413 MAK_FUNC_0( psa_em_cip_hop_dtx_info_cnf, EM_CIP_HOP_DTX_INFO_CNF ), /* 0x7E05 */ | |
414 MAK_FUNC_0( psa_em_power_info_cnf, EM_POWER_INFO_CNF ), /* 0x7E06 */ | |
415 MAK_FUNC_0( psa_em_identity_info_cnf, EM_IDENTITY_INFO_CNF ), /* 0x7E07 */ | |
416 MAK_FUNC_0( psa_em_sw_version_info_cnf, EM_SW_VERSION_INFO_CNF ), /* 0x7E08 */ | |
417 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E09 */ | |
418 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E0A */ | |
419 MAK_FUNC_0( em_event_trace_ind, EM_DATA_IND ), /* 0x7E0B */ | |
420 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E0C */ | |
421 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E0D */ | |
422 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E0E */ | |
423 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E0F */ | |
424 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E10 */ | |
425 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E11 */ | |
426 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E12 */ | |
427 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E13 */ | |
428 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E14 */ | |
429 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E15 */ | |
430 MAK_FUNC_N( pei_not_supported, 0 ), /* 0x7E16 */ | |
431 #ifdef GPRS | |
432 MAK_FUNC_0( psa_em_gmm_info_cnf, EM_GMM_INFO_CNF ), /* 0x7E17 */ /*GMM_INFO*/ | |
433 MAK_FUNC_0( psa_em_grlc_info_cnf, EM_GRLC_INFO_CNF ), /* 0x7E18 */ /*GRLC_INFO*/ | |
434 #else | |
435 MAK_FUNC_N( pei_not_supported, EM_GMM_INFO_CNF ), /* 0x7E17 */ | |
436 MAK_FUNC_N( pei_not_supported, EM_GRLC_INFO_CNF ), /* 0x7E18 */ | |
437 #endif /* GPRS */ | |
438 MAK_FUNC_0( psa_em_amr_info_cnf, EM_AMR_INFO_CNF ) /* 0x7E19 */ | |
439 }; | |
440 #endif /* FF_EM_MODE */ | |
441 | |
442 #ifdef FF_ATI | |
443 /* ES!! #if !defined (MFW) */ | |
444 LOCAL const T_FUNC aci_table[] = { | |
445 MAK_FUNC_0( aci_aci_cmd_req, ACI_CMD_REQ ), | |
446 MAK_FUNC_0( aci_aci_abort_req, ACI_ABORT_REQ ), | |
447 #ifdef BT_ADAPTER | |
448 MAK_FUNC_0( aci_aci_cmd_res , ACI_CMD_RES ), | |
449 MAK_FUNC_0( aci_aci_init_res , ACI_INIT_RES ), | |
450 MAK_FUNC_0( aci_aci_deinit_req , ACI_DEINIT_REQ ), | |
451 MAK_FUNC_0( aci_aci_open_port_req , ACI_OPEN_PORT_REQ ), | |
452 MAK_FUNC_0( aci_aci_close_port_req, ACI_CLOSE_PORT_REQ ), | |
453 MAK_FUNC_0( aci_aci_cmd_req_bt, ACI_CMD_REQ_BT ), | |
454 MAK_FUNC_0( aci_aci_cmd_res_bt, ACI_CMD_RES_BT ), | |
455 MAK_FUNC_0( aci_aci_abort_req_bt, ACI_ABORT_REQ_BT ), | |
456 #else | |
457 MAK_FUNC_N( pei_not_supported, 0 ), | |
458 MAK_FUNC_N( pei_not_supported, 0 ), | |
459 MAK_FUNC_N( pei_not_supported, 0 ), | |
460 MAK_FUNC_N( pei_not_supported, 0 ), | |
461 MAK_FUNC_N( pei_not_supported, 0 ), | |
462 MAK_FUNC_N( pei_not_supported, 0 ), | |
463 MAK_FUNC_N( pei_not_supported, 0 ), | |
464 MAK_FUNC_N( pei_not_supported, 0 ), | |
465 #endif /* BT_ADAPTER */ | |
466 MAK_FUNC_0( aci_aci_trc_ind, ACI_TRC_IND ), | |
467 MAK_FUNC_0( aci_aci_ext_ind, ACI_EXT_IND ), | |
468 #ifdef FF_MMI_RIV | |
469 MAK_FUNC_0( aci_aci_riv_cmd_req, ACI_RIV_CMD_REQ ) | |
470 #else | |
471 MAK_FUNC_N( pei_not_supported, 0 ) | |
472 #endif /* FF_MMI_RIV */ | |
473 }; | |
474 /* ES!! #endif */ | |
475 #endif | |
476 | |
477 #ifdef FAX_AND_DATA | |
478 | |
479 LOCAL const T_FUNC ra_table[] = { | |
480 MAK_FUNC_N( pei_not_supported, 0 /* RA_READY_IND */), | |
481 MAK_FUNC_N( pei_not_supported, 0 /* RA_DATA_IND */), | |
482 MAK_FUNC_0( psa_ra_activate_cnf, RA_ACTIVATE_CNF ), | |
483 MAK_FUNC_0( psa_ra_deactivate_cnf, RA_DEACTIVATE_CNF ), | |
484 MAK_FUNC_N( pei_not_supported, 0 /* RA_BREAK_IND */) | |
485 #ifdef FF_FAX | |
486 , | |
487 MAK_FUNC_0( psa_ra_modify_cnf, RA_MODIFY_CNF ) | |
488 #endif | |
489 }; | |
490 | |
491 #ifdef DTI | |
492 LOCAL const T_FUNC l2r_table[] = { | |
493 MAK_FUNC_0( psa_l2r_activate_cnf, L2R_ACTIVATE_CNF ), | |
494 MAK_FUNC_0( psa_l2r_deactivate_cnf, L2R_DEACTIVATE_CNF ), | |
495 MAK_FUNC_0( psa_l2r_connect_cnf, L2R_CONNECT_CNF ), | |
496 MAK_FUNC_0( psa_l2r_connect_ind, L2R_CONNECT_IND ), | |
497 MAK_FUNC_0( psa_l2r_disc_cnf, L2R_DISC_CNF ), | |
498 MAK_FUNC_0( psa_l2r_disc_ind, L2R_DISC_IND ), | |
499 MAK_FUNC_N( pei_not_supported, 0 /* L2R_READY_IND */), | |
500 MAK_FUNC_N( pei_not_supported, 0 /* L2R_DATA_IND */), | |
501 MAK_FUNC_N( pei_not_supported, 0 /* L2R_BREAK_CNF */), | |
502 MAK_FUNC_N( pei_not_supported, 0 /* L2R_BREAK_IND */), | |
503 MAK_FUNC_N( psa_l2r_xid_ind, L2R_XID_IND ), | |
504 MAK_FUNC_0( psa_l2r_error_ind, L2R_ERROR_IND ), | |
505 MAK_FUNC_0( psa_l2r_reset_ind, L2R_RESET_IND ), | |
506 MAK_FUNC_0( psa_l2r_statistic_ind, L2R_STATISTIC_IND ), | |
507 MAK_FUNC_0( psa_l2r_dti_cnf, L2R_DTI_CNF ), | |
508 MAK_FUNC_0( psa_l2r_dti_ind, L2R_DTI_IND ) | |
509 }; | |
510 | |
511 #ifdef FF_FAX | |
512 LOCAL const T_FUNC t30_table[] = { | |
513 MAK_FUNC_0( psa_t30_cap_ind, T30_CAP_IND ), | |
514 MAK_FUNC_0( psa_t30_sgn_ind, T30_SGN_IND ), | |
515 MAK_FUNC_0( psa_t30_cmpl_ind, T30_CMPL_IND ), | |
516 MAK_FUNC_S( psa_t30_report_ind, T30_REPORT_IND ), | |
517 MAK_FUNC_0( psa_t30_error_ind, T30_ERROR_IND ), | |
518 MAK_FUNC_0( psa_t30_deactivate_cnf, T30_DEACTIVATE_CNF ), | |
519 MAK_FUNC_0( psa_t30_activate_cnf, T30_ACTIVATE_CNF ), | |
520 MAK_FUNC_0( psa_t30_preamble_ind, T30_PREAMBLE_IND ), | |
521 MAK_FUNC_0( psa_t30_dti_ind, T30_DTI_IND ), | |
522 MAK_FUNC_0( psa_t30_dti_cnf, T30_DTI_CNF ), | |
523 MAK_FUNC_0( psa_t30_phase_ind, T30_PHASE_IND ), | |
524 MAK_FUNC_0( psa_t30_eol_ind, T30_EOL_IND ), | |
525 MAK_FUNC_N( pei_not_supported, 0 ) | |
526 }; | |
527 #endif /* FF_FAX */ | |
528 | |
529 LOCAL const T_FUNC tra_table[] = { | |
530 MAK_FUNC_0( psa_tra_activate_cnf, TRA_ACTIVATE_CNF ), | |
531 MAK_FUNC_0( psa_tra_deactivate_cnf, TRA_DEACTIVATE_CNF ), | |
532 MAK_FUNC_0( psa_tra_dti_cnf, TRA_DTI_CNF ), | |
533 MAK_FUNC_0( psa_tra_dti_ind, TRA_DTI_IND ), | |
534 }; | |
535 #endif /* DTI */ | |
536 #endif /* FAX_AND_DATA */ | |
537 | |
538 #ifdef FF_GPF_TCPIP | |
539 LOCAL const T_FUNC tcpip_table[] = { | |
540 MAK_FUNC_0 (psa_tcpip_initialize_cnf, TCPIP_INITIALIZE_CNF ), /* 0x00 */ | |
541 MAK_FUNC_N (psa_tcpip_shutdown_cnf, TCPIP_SHUTDOWN_CNF ), /* 0x01 */ | |
542 MAK_FUNC_0 (psa_tcpip_ifconfig_cnf, TCPIP_IFCONFIG_CNF ), /* 0x02 */ | |
543 MAK_FUNC_0 (psa_tcpip_dti_cnf, TCPIP_DTI_CNF ) /* 0x03 */ | |
544 }; | |
545 #endif | |
546 | |
547 #ifdef CO_UDP_IP | |
548 LOCAL const T_FUNC udpa_table[] = { | |
549 MAK_FUNC_0( psa_udpa_dti_cnf, UDPA_DTI_CNF ), | |
550 MAK_FUNC_0( psa_udpa_dti_ind, UDPA_DTI_IND ), | |
551 MAK_FUNC_0( psa_udpa_config_cnf, UDPA_CONFIG_CNF ), | |
552 }; | |
553 LOCAL const T_FUNC ipa_table[] = { | |
554 MAK_FUNC_0( psa_ipa_dti_cnf, IPA_DTI_CNF ), | |
555 MAK_FUNC_0( psa_ipa_dti_ind, IPA_DTI_IND ), | |
556 MAK_FUNC_0( psa_ipa_config_cnf, IPA_CONFIG_CNF ), | |
557 }; | |
558 #endif /* CO_UDP_IP */ | |
559 | |
560 #ifdef FF_WAP | |
561 LOCAL const T_FUNC wap_table[] = { | |
562 MAK_FUNC_S( psa_wap_mmi_ind, WAP_MMI_IND ), | |
563 MAK_FUNC_S( psa_wap_mmi_req, WAP_MMI_REQ ), | |
564 MAK_FUNC_S( psa_wap_mmi_cnf, WAP_MMI_CNF ), | |
565 MAK_FUNC_0( psa_wap_dti_cnf, WAP_DTI_CNF ), | |
566 MAK_FUNC_0( psa_wap_dti_ind, WAP_DTI_IND ) | |
567 }; | |
568 #endif /* FF_WAP */ | |
569 | |
570 #ifdef FF_GPF_TCPIP | |
571 LOCAL const T_FUNC dcm_table[] = { | |
572 MAK_FUNC_0( psa_dcm_open_conn_req, DCM_OPEN_CONN_REQ ), /* 0x8000401c */ | |
573 MAK_FUNC_0( psa_dcm_close_conn_req, DCM_CLOSE_CONN_REQ ), /* 0x8001401c */ | |
574 MAK_FUNC_0( psa_dcm_get_current_conn_req , DCM_GET_CURRENT_CONN_REQ), /* 0x8002001c */ | |
575 MAK_FUNC_N( pei_not_supported, 0 ) | |
576 }; | |
577 #endif /* FF_GPF_TCPIP */ | |
578 | |
579 /*LOCAL const T_FUNC ppp_table[] = { | |
580 MAK_FUNC_0( psa_ppp_establish_cnf, PPP_ESTABLISH_CNF ), | |
581 MAK_FUNC_0( psa_ppp_terminate_ind, PPP_TERMINATE_IND ), | |
582 MAK_FUNC_N( pei_not_supported, 0 ), | |
583 MAK_FUNC_N( pei_not_supported, 0 ), | |
584 MAK_FUNC_0( psa_ppp_dti_connected_ind, PPP_DTI_CONNECTED_IND ) | |
585 };*/ | |
586 #if defined (UART) AND defined (DTI) | |
587 LOCAL const T_FUNC uart_table[] = { | |
588 MAK_FUNC_0( psa_uart_parameters_cnf, UART_PARAMETERS_CNF ), /* 0x3400 */ | |
589 MAK_FUNC_0( psa_uart_parameters_ind, UART_PARAMETERS_IND ), /* 0x3401 */ | |
590 MAK_FUNC_0( psa_uart_dti_cnf, UART_DTI_CNF ), /* 0x3402 */ | |
591 MAK_FUNC_0( psa_uart_dti_ind, UART_DTI_IND ), /* 0x3403 */ | |
592 MAK_FUNC_0( psa_uart_disable_cnf, UART_DISABLE_CNF ), /* 0x3404 */ | |
593 MAK_FUNC_0( psa_uart_ring_cnf, UART_RING_CNF ), /* 0x3405 */ | |
594 MAK_FUNC_0( psa_uart_dcd_cnf, UART_DCD_CNF ), /* 0x3406 */ | |
595 MAK_FUNC_0( psa_uart_escape_cnf, UART_ESCAPE_CNF ), /* 0x3407 */ | |
596 MAK_FUNC_0( psa_uart_detected_ind, UART_DETECTED_IND ), /* 0x3408 */ | |
597 MAK_FUNC_0( psa_uart_error_ind, UART_ERROR_IND ), /* 0x3409 */ | |
598 MAK_FUNC_0( psa_uart_mux_start_cnf, UART_MUX_START_CNF ), | |
599 MAK_FUNC_0( psa_uart_mux_dlc_establish_ind, UART_MUX_DLC_ESTABLISH_IND), | |
600 MAK_FUNC_0( psa_uart_mux_dlc_release_ind, UART_MUX_DLC_RELEASE_IND ), | |
601 MAK_FUNC_N( pei_not_supported, 0 ), /* sleep ind */ | |
602 MAK_FUNC_N( pei_not_supported, 0 ), /* wake up ind */ | |
603 MAK_FUNC_0( psa_uart_mux_close_ind, UART_MUX_CLOSE_IND ), | |
604 MAK_FUNC_N( pei_not_supported, 0 ) | |
605 }; | |
606 #endif | |
607 | |
608 #ifdef GPRS | |
609 /* GMMREG */ | |
610 LOCAL const T_FUNC gmm_table[] = { | |
611 MAK_FUNC_0( psa_gmmreg_attach_cnf, GMMREG_ATTACH_CNF ), | |
612 MAK_FUNC_0( psa_gmmreg_attach_rej, GMMREG_ATTACH_REJ ), | |
613 MAK_FUNC_0( psa_gmmreg_detach_cnf, GMMREG_DETACH_CNF ), | |
614 MAK_FUNC_0( psa_gmmreg_detach_ind, GMMREG_DETACH_IND ), | |
615 MAK_FUNC_0( psa_gmmreg_plmn_ind, GMMREG_PLMN_IND ), | |
616 MAK_FUNC_0( psa_gmmreg_suspend_ind, GMMREG_SUSPEND_IND ), | |
617 MAK_FUNC_0( psa_gmmreg_resume_ind, GMMREG_RESUME_IND ), | |
618 MAK_FUNC_0( psa_gmmreg_info_ind, GMMREG_INFO_IND ), | |
619 MAK_FUNC_0( psa_gmmreg_ciphering_ind, GMMREG_CIPHERING_IND ), | |
620 MAK_FUNC_0( psa_gmmreg_ahplmn_ind, GMMREG_AHPLMN_IND ) | |
621 }; | |
622 | |
623 /* UPM */ | |
624 LOCAL const T_FUNC upm_table[] = { | |
625 MAK_FUNC_N( pei_not_supported, 0 ), | |
626 MAK_FUNC_N( psa_upm_count_cnf, UPM_COUNT_CNF ) | |
627 }; | |
628 | |
629 | |
630 /* SMREG */ | |
631 LOCAL const T_FUNC sm_table[] = { | |
632 MAK_FUNC_0( psa_smreg_pdp_activate_cnf, SMREG_PDP_ACTIVATE_CNF ), | |
633 MAK_FUNC_0( psa_smreg_pdp_activate_rej, SMREG_PDP_ACTIVATE_REJ ), | |
634 MAK_FUNC_0( psa_smreg_pdp_activate_ind, SMREG_PDP_ACTIVATE_IND ), | |
635 MAK_FUNC_0( psa_smreg_pdp_deactivate_cnf, SMREG_PDP_DEACTIVATE_CNF ), | |
636 MAK_FUNC_0( psa_smreg_pdp_deactivate_ind, SMREG_PDP_DEACTIVATE_IND ), | |
637 MAK_FUNC_0( psa_smreg_pdp_modify_ind, SMREG_PDP_MODIFY_IND ) | |
638 #ifdef REL99 | |
639 ,MAK_FUNC_0( psa_smreg_pdp_modify_cnf, SMREG_PDP_MODIFY_CNF ), | |
640 MAK_FUNC_0( psa_smreg_pdp_modify_rej, SMREG_PDP_MODIFY_REJ ), | |
641 MAK_FUNC_0( psa_smreg_pdp_activate_sec_cnf, SMREG_PDP_ACTIVATE_SEC_CNF ), | |
642 MAK_FUNC_0( psa_smreg_pdp_activate_sec_rej, SMREG_PDP_ACTIVATE_SEC_REJ ) | |
643 #endif /* !REL99 */ | |
644 }; | |
645 | |
646 | |
647 /* SN */ | |
648 LOCAL const T_FUNC sndcp_table[] = { | |
649 MAK_FUNC_N( pei_not_supported, 0 ), | |
650 MAK_FUNC_N( pei_not_supported, 0 ), | |
651 MAK_FUNC_N( pei_not_supported, 0 ), | |
652 MAK_FUNC_N( pei_not_supported, 0 ), | |
653 MAK_FUNC_N( pei_not_supported, 0 ), | |
654 MAK_FUNC_N( pei_not_supported, 0 ), | |
655 MAK_FUNC_N( pei_not_supported, 0 ), | |
656 MAK_FUNC_N( pei_not_supported, 0 ), | |
657 MAK_FUNC_N( pei_not_supported, 0 ), | |
658 MAK_FUNC_N( psa_sn_dti_cnf, SN_DTI_CNF ) | |
659 }; | |
660 | |
661 /* PPP */ | |
662 /*LOCAL const T_FUNC ppp_table[] = { | |
663 MAK_FUNC_0( psa_ppp_establish_cnf, PPP_ESTABLISH_CNF ), | |
664 MAK_FUNC_0( psa_ppp_terminate_ind, PPP_TERMINATE_IND ), | |
665 MAK_FUNC_0( psa_ppp_pdp_activate_ind, PPP_PDP_ACTIVATE_IND ), | |
666 MAK_FUNC_0( psa_ppp_modification_cnf, PPP_MODIFICATION_CNF ), | |
667 MAK_FUNC_0( psa_ppp_dti_connected_ind, PPP_DTI_CONNECTED_IND ) | |
668 };*/ | |
669 | |
670 #ifdef FF_PKTIO | |
671 LOCAL const T_FUNC mnpkt_table[] = { | |
672 MAK_FUNC_0( psa_pkt_connect_ind, PKT_CONNECT_IND ), | |
673 MAK_FUNC_0( psa_pkt_disconnect_ind, PKT_DISCONNECT_IND ), | |
674 MAK_FUNC_0( psa_pkt_dti_open_cnf, PKT_DTI_OPEN_CNF ), | |
675 MAK_FUNC_0( psa_pkt_modify_cnf, PKT_MODIFY_CNF ), | |
676 MAK_FUNC_0( psa_pkt_dti_close_cnf, PKT_DTI_CLOSE_CNF ), | |
677 MAK_FUNC_0( psa_pkt_dti_close_ind, PKT_DTI_CLOSE_IND ) | |
678 }; | |
679 #endif | |
680 #endif /* GPRS */ | |
681 #if defined (FF_PSI ) AND defined (DTI) | |
682 LOCAL const T_FUNC mnpsi_table[] = { | |
683 MAK_FUNC_0( psa_psi_conn_ind, PSI_CONN_IND ), | |
684 MAK_FUNC_0( psa_psi_disconn_ind, PSI_DISCONN_IND ), | |
685 MAK_FUNC_0( psa_psi_dti_open_cnf, PSI_DTI_OPEN_CNF ), | |
686 MAK_FUNC_0( psa_psi_dti_close_cnf, PSI_DTI_CLOSE_CNF ), | |
687 MAK_FUNC_0( psa_psi_dti_close_ind, PSI_DTI_CLOSE_IND ), | |
688 MAK_FUNC_0( psa_psi_setconf_cnf, PSI_SETCONF_CNF ), | |
689 MAK_FUNC_0( psa_psi_line_state_cnf, PSI_LINE_STATE_CNF ), | |
690 MAK_FUNC_0( psa_psi_line_state_ind, PSI_LINE_STATE_IND ), | |
691 MAK_FUNC_0( psa_psi_close_cnf, PSI_CLOSE_CNF ) | |
692 #ifdef _SIMULATION_ | |
693 , | |
694 MAK_FUNC_0( psa_psi_conn_ind_test, PSI_CONN_IND_TEST) | |
695 #endif /*_SIMULATION_ */ | |
696 }; | |
697 #endif /*FF_PSI*/ | |
698 /* PPP */ | |
699 | |
700 #if defined FF_WAP || defined GPRS || defined FF_GPF_TCPIP || defined (FF_SAT_E) || defined (FF_PPP) | |
701 | |
702 LOCAL const T_FUNC ppp_table[] = { | |
703 MAK_FUNC_0( psa_ppp_establish_cnf, PPP_ESTABLISH_CNF ), | |
704 MAK_FUNC_0( psa_ppp_terminate_ind, PPP_TERMINATE_IND ), | |
705 MAK_FUNC_0( psa_ppp_pdp_activate_ind, PPP_PDP_ACTIVATE_IND ), | |
706 MAK_FUNC_0( psa_ppp_modification_cnf, PPP_MODIFICATION_CNF ), | |
707 MAK_FUNC_0( psa_ppp_dti_connected_ind, PPP_DTI_CONNECTED_IND ) | |
708 }; | |
709 #endif /* FF_WAP || GPRS || FF_GPF_TCPIP || FF_SAT_E */ | |
710 | |
711 #if defined FF_EOTD | |
712 LOCAL const T_FUNC mnlc_table[] = { | |
713 MAK_FUNC_0( psa_mnlc_sms_meas_cnf, MNLC_SMS_MEAS_CNF ) | |
714 }; | |
715 #endif /* FF_EOTD */ | |
716 | |
717 /* BTI */ | |
718 #ifdef BT_ADAPTER | |
719 LOCAL const T_FUNC btp_table[] = { | |
720 MAK_FUNC_N( pei_not_supported, 0 ), | |
721 MAK_FUNC_N( pei_not_supported, 0 ), | |
722 MAK_FUNC_N( pei_not_supported, 0 ), | |
723 MAK_FUNC_N( pei_not_supported, 0 ), | |
724 MAK_FUNC_N( pei_not_supported, 0 ), | |
725 MAK_FUNC_N( pei_not_supported, 0 ), | |
726 MAK_FUNC_N( pei_not_supported, 0 ), | |
727 MAK_FUNC_N( pei_not_supported, 0 ), | |
728 MAK_FUNC_N( pei_not_supported, 0 ), | |
729 MAK_FUNC_N( pei_not_supported, 0 ), | |
730 MAK_FUNC_N( pei_not_supported, 0 ), | |
731 MAK_FUNC_N( pei_not_supported, 0 ), | |
732 MAK_FUNC_N( pei_not_supported, 0 ), | |
733 MAK_FUNC_N( pei_not_supported, 0 ), | |
734 MAK_FUNC_N( pei_not_supported, 0 ), | |
735 MAK_FUNC_N( pei_not_supported, 0 ), | |
736 MAK_FUNC_N( pei_not_supported, 0 ), | |
737 MAK_FUNC_N( pei_not_supported, 0 ), | |
738 MAK_FUNC_N( pei_not_supported, 0 ), | |
739 MAK_FUNC_N( pei_not_supported, 0 ), | |
740 MAK_FUNC_N( pei_not_supported, 0 ), | |
741 MAK_FUNC_N( pei_not_supported, 0 ), | |
742 MAK_FUNC_N( pei_not_supported, 0 ), | |
743 MAK_FUNC_N( pei_not_supported, 0 ), | |
744 MAK_FUNC_N( pei_not_supported, 0 ), | |
745 MAK_FUNC_N( pei_not_supported, 0 ), | |
746 MAK_FUNC_N( pei_not_supported, 0 ), | |
747 MAK_FUNC_N( pei_not_supported, 0 ), | |
748 MAK_FUNC_N( pei_not_supported, 0 ), | |
749 MAK_FUNC_N( pei_not_supported, 0 ), | |
750 MAK_FUNC_N( pei_not_supported, 0 ), | |
751 MAK_FUNC_N( pei_not_supported, 0 ), | |
752 MAK_FUNC_N( pei_not_supported, 0 ), | |
753 MAK_FUNC_N( pei_not_supported, 0 ), | |
754 MAK_FUNC_N( pei_not_supported, 0 ), | |
755 MAK_FUNC_N( pei_not_supported, 0 ), | |
756 MAK_FUNC_N( pei_not_supported, 0 ), | |
757 MAK_FUNC_N( pei_not_supported, 0 ), | |
758 MAK_FUNC_N( pei_not_supported, 0 ), | |
759 MAK_FUNC_N( pei_not_supported, 0 ), | |
760 MAK_FUNC_N( pei_not_supported, 0 ), | |
761 MAK_FUNC_N( pei_not_supported, 0 ), | |
762 MAK_FUNC_N( pei_not_supported, 0 ), | |
763 MAK_FUNC_N( pei_not_supported, 0 ), | |
764 MAK_FUNC_N( pei_not_supported, 0 ), | |
765 MAK_FUNC_N( pei_not_supported, 0 ), | |
766 MAK_FUNC_N( pei_not_supported, 0 ), | |
767 MAK_FUNC_N( pei_not_supported, 0 ), | |
768 MAK_FUNC_N( pei_not_supported, 0 ), | |
769 MAK_FUNC_N( pei_not_supported, 0 ), | |
770 MAK_FUNC_N( pei_not_supported, 0 ), | |
771 MAK_FUNC_N( pei_not_supported, 0 ), | |
772 MAK_FUNC_N( pei_not_supported, 0 ), | |
773 MAK_FUNC_N( pei_not_supported, 0 ), | |
774 MAK_FUNC_0( psa_btp_dti_ind, T30_DTI_IND ), | |
775 MAK_FUNC_0( psa_btp_dti_cnf, T30_DTI_CNF ) | |
776 }; | |
777 #endif /* BT_ADAPTER */ | |
778 | |
779 #if defined(FF_TCP_IP) || defined(FF_ESIM) | |
780 LOCAL const T_FUNC aaa_table[] = { | |
781 MAK_FUNC_0( psa_aaa_cmd_req, AAA_CMD_REQ ), | |
782 MAK_FUNC_0( psa_aaa_open_port_req, AAA_OPEN_PORT_REQ ), | |
783 MAK_FUNC_0( psa_aaa_close_port_req, AAA_CLOSE_PORT_REQ ), | |
784 MAK_FUNC_0( psa_aaa_dti_rsp, AAA_DTI_RES ), | |
785 MAK_FUNC_N( pei_not_supported, 0 ), | |
786 MAK_FUNC_N( pei_not_supported, 0 ), | |
787 MAK_FUNC_0( psa_aaa_disconnect_rsp, AAA_DISCONNECT_RES ) | |
788 }; | |
789 #endif | |
790 | |
791 /* | |
792 +--------------------------------------------------------------------+ | |
793 | PROJECT : GSM-F&D (8411) MODULE : RLP_PEI | | |
794 | STATE : code ROUTINE : pei_primitive | | |
795 +--------------------------------------------------------------------+ | |
796 | |
797 PURPOSE : Process protocol specific primitive. | |
798 | |
799 */ | |
800 | |
801 LOCAL SHORT pei_primitive (void *ptr) | |
802 { | |
803 T_PRIM *prim = ptr; | |
804 #ifdef SMI | |
805 T_PEI_RETURN subReturn = PEI_ERROR; | |
806 #endif | |
807 | |
808 /* | |
809 * | |
810 * ACI UPLINK | |
811 * | | |
812 * +-------------------------------v--------------------------------------+ | |
813 * | | | |
814 * | ACI | | |
815 * | | | |
816 * +--^----^-----^----^----^----^---^---^---^----^------^----^---^----^---+ | |
817 * | | | | | | | | | | | | | | | |
818 * SIM MMREG MNCC MNSS MNSMS MMI T30 L2R RA GMMREG SMREG PPP UART BTI DOWNLINK | |
819 * | | | | | | | | | | | | | | | |
820 * | |
821 */ | |
822 | |
823 #ifdef MFW | |
824 extern void mmeFlagHandler(void); | |
825 extern USHORT mfwMmeDrvFlag; | |
826 #endif | |
827 | |
828 /* TRACE_FUNCTION ("pei_primitive()");*/ | |
829 #ifdef MFW | |
830 if (mfwMmeDrvFlag) | |
831 mmeFlagHandler(); | |
832 #endif | |
833 | |
834 if (prim NEQ NULL) | |
835 { | |
836 ULONG opc = prim->custom.opc; | |
837 USHORT n; | |
838 const T_FUNC *table; | |
839 | |
840 VSI_PPM_REC ((T_PRIM_HEADER*)prim, __FILE__, __LINE__); | |
841 | |
842 #ifndef FF_EM_MODE | |
843 /* | |
844 * To ensure true msc directions for the engineering mode additional | |
845 * information (from which entity the prim is sent) must be provided | |
846 * before PTRACE_IN is called. | |
847 */ | |
848 PTRACE_IN (opc); | |
849 #endif /* FF_EM_MODE */ | |
850 | |
851 #ifdef MFW | |
852 /* | |
853 * MFW "checks" if it needs to handle primitves coming from below before they are | |
854 * potentially still to be handled by ACI | |
855 */ | |
856 if (aci_check_primitive (opc, (void*)(&(prim->data)))) | |
857 { | |
858 PFREE (P2D(prim)); | |
859 return PEI_OK; | |
860 } | |
861 #endif | |
862 | |
863 /* TRACE_EVENT_P1("opcode: %d", opc);*/ | |
864 switch (SAP_NR(opc)) | |
865 { | |
866 #ifdef FF_ATI | |
867 /* ES!! #if !defined (MFW) */ | |
868 case ACI_DL: | |
869 case ACI_UL: table = aci_table; n = TAB_SIZE (aci_table); break; | |
870 /* ES!! #endif */ | |
871 #endif | |
872 case SAP_NR(SIM_UL): table = sim_table; n = TAB_SIZE (sim_table); break; | |
873 case SAP_NR(MMREG_DL): table = mmr_table; n = TAB_SIZE (mmr_table); break; | |
874 case SAP_NR(MNCC_DL): table = mncc_table; n = TAB_SIZE (mncc_table); break; | |
875 case SAP_NR(MNSS_DL): table = mnss_table; n = TAB_SIZE (mnss_table); break; | |
876 case SAP_NR(MNSMS_DL): table = mnsms_table; n = TAB_SIZE (mnsms_table); break; | |
877 #if defined (FF_PKTIO) AND defined (DTI) | |
878 case SAP_NR(PKT_DL): table = mnpkt_table; n = TAB_SIZE (mnpkt_table); break; | |
879 #endif | |
880 #if defined (FF_PSI) AND defined (DTI) | |
881 case SAP_NR(PSI_DL): table = mnpsi_table; n = TAB_SIZE (mnpsi_table); break; | |
882 #endif /*FF_PSI*/ | |
883 | |
884 #ifdef DTI | |
885 #if defined(FF_TCP_IP) || defined(FF_ESIM) | |
886 case SAP_NR(AAA_DL): table = aaa_table; n = TAB_SIZE (aaa_table); break; | |
887 #endif | |
888 #endif | |
889 case MMI_DL: table = mmi_table; n = TAB_SIZE (mmi_table); break; | |
890 #ifdef DTI | |
891 case DTI2_DL: | |
892 { | |
893 table = dti_dl_table; n = TAB_SIZE (dti_dl_table); | |
894 /* | |
895 * to be able to distinguish DTI1/DTI2 opcodes, | |
896 * the ones for DTI2 start at 0x50 | |
897 */ | |
898 opc -= 0x50; | |
899 } | |
900 break; | |
901 #endif /* UART */ | |
902 #ifdef FF_EM_MODE | |
903 case EM_Dl: table = em_table; n = TAB_SIZE (em_table); break; | |
904 #endif /* FF_EM_MODE */ | |
905 | |
906 #if defined (FAX_AND_DATA) AND defined (DTI) | |
907 case SAP_NR(RA_DL): table = ra_table; n = TAB_SIZE (ra_table); break; | |
908 case SAP_NR(L2R_DL): table = l2r_table; n = TAB_SIZE (l2r_table); break; | |
909 #ifdef FF_FAX | |
910 case SAP_NR(T30_DL): table = t30_table; n = TAB_SIZE (t30_table); break; | |
911 #endif | |
912 case SAP_NR(TRA_DL): table = tra_table; n = TAB_SIZE (tra_table); break; | |
913 #endif | |
914 | |
915 #ifdef FF_GPF_TCPIP | |
916 case SAP_NR(TCPIP_DL): table = tcpip_table; n = TAB_SIZE (tcpip_table); break; | |
917 case SAP_NR(DCM_DL): table = dcm_table; n = TAB_SIZE (dcm_table); break; | |
918 #endif | |
919 | |
920 #ifdef CO_UDP_IP | |
921 case SAP_NR(UDPA_DL): table = udpa_table; n = TAB_SIZE (udpa_table); break; | |
922 case SAP_NR(IPA_DL): table = ipa_table; n = TAB_SIZE (ipa_table); break; | |
923 #endif | |
924 | |
925 #ifdef FF_WAP | |
926 case SAP_NR(WAP_DL): table = wap_table; n = TAB_SIZE (wap_table); break; | |
927 #endif | |
928 | |
929 #if defined (FF_WAP) || defined (GPRS) || defined (FF_SAT_E) | |
930 case PPP_UL: table = ppp_table; n = TAB_SIZE (ppp_table); break; | |
931 #endif | |
932 | |
933 #ifdef GPRS | |
934 case GMMREG_DL: table = gmm_table; n = TAB_SIZE (gmm_table); break; | |
935 case SMREG_DL: table = sm_table; n = TAB_SIZE (sm_table); break; | |
936 case SAP_NR(UPM_DL): table = upm_table; n = TAB_SIZE (upm_table); break; | |
937 case SAP_NR(SN_DL): table = sndcp_table; n = TAB_SIZE (sndcp_table); break; | |
938 | |
939 #endif /* GPRS */ | |
940 | |
941 #if defined (UART) AND defined (DTI) | |
942 case UART_UL: table = uart_table; n = TAB_SIZE (uart_table); break; | |
943 #endif /* UART */ | |
944 #ifdef BT_ADAPTER | |
945 /* BTI DL */ | |
946 case BTP_G: table = btp_table; n = TAB_SIZE (btp_table); break; | |
947 #endif /* BT_ADAPTER */ | |
948 #if defined FF_EOTD | |
949 case SAP_NR(MNLC_DL): table = mnlc_table; n = TAB_SIZE (mnlc_table); break; | |
950 #endif | |
951 | |
952 default: table = NULL; n = 0; break; | |
953 } | |
954 | |
955 #ifdef FF_EM_MODE | |
956 /* | |
957 * Only valid for the engineering mode as described above. | |
958 */ | |
959 PTRACE_IN (opc); | |
960 #endif /* FF_EM_MODE */ | |
961 | |
962 if (table NEQ NULL ) | |
963 { | |
964 if (PRIM_NR(opc) < n) | |
965 { | |
966 table += PRIM_NR(opc); | |
967 #ifdef PALLOC_TRANSITION | |
968 P_SDU(prim) = table->soff ? (T_sdu*) (((char*)&prim->data) + table->soff) : 0; | |
969 #ifndef NO_COPY_ROUTING | |
970 P_LEN(prim) = table->size + sizeof (T_PRIM_HEADER); | |
971 #endif /* NO_COPY_ROUTING */ | |
972 #endif /* PALLOC_TRANSITION */ | |
973 | |
974 #if !defined (SMI) AND !defined (MFW) | |
975 if (mode EQ 0 AND | |
976 table NEQ aci_table) | |
977 { | |
978 PSENDX (ACI, P2D(prim)); | |
979 } | |
980 else | |
981 #endif | |
982 { | |
983 #ifdef SMI | |
984 if (table->func EQ (T_VOID_FUNC) pei_not_supported) | |
985 { | |
986 subReturn = _pei_primitive (prim); | |
987 } | |
988 else | |
989 #endif | |
990 JUMP (table->func) (P2D(prim)); | |
991 } | |
992 } | |
993 else | |
994 { | |
995 #ifndef SMI | |
996 pei_not_supported (P2D(prim)); | |
997 #else | |
998 subReturn = _pei_primitive (prim); | |
999 #endif | |
1000 } | |
1001 return PEI_OK; | |
1002 } | |
1003 #ifdef SMI | |
1004 else | |
1005 { | |
1006 subReturn = _pei_primitive (prim); | |
1007 } | |
1008 #endif | |
1009 | |
1010 /* | |
1011 * Primitive is no GSM Primitive | |
1012 * then forward to the environment | |
1013 */ | |
1014 #ifdef SMI | |
1015 if (subReturn EQ PEI_ERROR) | |
1016 { | |
1017 #endif | |
1018 #ifdef GSM_ONLY | |
1019 PFREE (P2D(prim)) | |
1020 return PEI_ERROR; | |
1021 #else | |
1022 if (opc & SYS_MASK) | |
1023 vsi_c_primitive (VSI_CALLER prim); | |
1024 else | |
1025 { | |
1026 PFREE (P2D(prim)); | |
1027 return PEI_ERROR; | |
1028 } | |
1029 #endif | |
1030 #ifdef SMI | |
1031 } | |
1032 #endif | |
1033 } | |
1034 #ifdef SMI | |
1035 else | |
1036 { | |
1037 subReturn = _pei_primitive (prim); | |
1038 } | |
1039 #endif | |
1040 | |
1041 return PEI_OK; | |
1042 } | |
1043 | |
1044 | |
1045 /* | |
1046 +--------------------------------------------------------------------+ | |
1047 | PROJECT : GSM-F&D (8411) MODULE : ACI_PEI | | |
1048 | STATE : code ROUTINE : pei_init | | |
1049 +--------------------------------------------------------------------+ | |
1050 | |
1051 PURPOSE : Initialize Protocol Stack Entity | |
1052 | |
1053 */ | |
1054 LOCAL SHORT pei_init (T_HANDLE handle) | |
1055 { | |
1056 #ifdef FF_ATI | |
1057 #ifdef UART | |
1058 EXTERN void urt_init (void); | |
1059 #endif | |
1060 #endif | |
1061 | |
1062 aci_handle = handle; | |
1063 | |
1064 TRACE_FUNCTION ("pei_init()"); | |
1065 | |
1066 #ifdef TI_PS_HCOMM_CHANGE | |
1067 if (!cl_hcomm_open_all_handles()) | |
1068 { | |
1069 return PEI_ERROR; | |
1070 } | |
1071 | |
1072 if (hCommACI < VSI_OK) | |
1073 { | |
1074 if ((hCommACI = vsi_c_open (VSI_CALLER ACI_NAME)) < VSI_OK) | |
1075 return PEI_ERROR; | |
1076 } | |
1077 | |
1078 #ifdef FAX_AND_DATA | |
1079 if (hCommTRA < VSI_OK) | |
1080 { | |
1081 /* TRA_NAME i.e "L2R" on account of TRA being no real entity */ | |
1082 if ((hCommTRA = vsi_c_open (VSI_CALLER TRA_NAME)) < VSI_OK) | |
1083 return PEI_ERROR; | |
1084 } | |
1085 #endif | |
1086 | |
1087 #ifdef FF_GPF_TCPIP | |
1088 if (hCommTCPIP < VSI_OK) | |
1089 { | |
1090 if ((hCommTCPIP = vsi_c_open (VSI_CALLER TCPIP_NAME)) < VSI_OK) | |
1091 return PEI_ERROR; | |
1092 } | |
1093 #endif | |
1094 | |
1095 #if defined (CO_TCPIP_TESTAPP) || defined (CO_BAT_TESTAPP) | |
1096 if (hCommAPP < VSI_OK) | |
1097 { | |
1098 if ((hCommAPP = vsi_c_open (VSI_CALLER APP_NAME)) < VSI_OK) | |
1099 return PEI_ERROR; | |
1100 } | |
1101 #endif | |
1102 | |
1103 #if defined FF_TRACE_OVER_MTST | |
1104 if (hCommMTST < VSI_OK) | |
1105 { | |
1106 if ((hCommMTST = vsi_c_open (VSI_CALLER "MTST")) < VSI_OK) | |
1107 return PEI_ERROR; | |
1108 } | |
1109 #endif | |
1110 | |
1111 #ifdef FF_ESIM | |
1112 if (hCommESIM < VSI_OK) /* open channel to ESIM entity */ | |
1113 { | |
1114 if ((hCommESIM = vsi_c_open (VSI_CALLER ESIM_NAME)) < VSI_OK) | |
1115 return PEI_ERROR; | |
1116 } | |
1117 #endif | |
1118 | |
1119 #if defined (GPRS) AND defined (DTI) | |
1120 if (hCommGMM < VSI_OK) | |
1121 { | |
1122 if ((hCommGMM = vsi_c_open (VSI_CALLER GMM_NAME)) < VSI_OK) | |
1123 return PEI_ERROR; | |
1124 } | |
1125 if (hCommSM < VSI_OK) | |
1126 { | |
1127 if ((hCommSM = vsi_c_open (VSI_CALLER SM_NAME)) < VSI_OK) | |
1128 return PEI_ERROR; | |
1129 } | |
1130 if (hCommSNDCP < VSI_OK) | |
1131 { | |
1132 if ((hCommSNDCP = vsi_c_open (VSI_CALLER SNDCP_NAME)) < VSI_OK) | |
1133 return PEI_ERROR; | |
1134 } | |
1135 | |
1136 #ifdef FF_PKTIO | |
1137 if (hCommPKTIO < VSI_OK) | |
1138 { | |
1139 if ((hCommPKTIO = vsi_c_open (VSI_CALLER PKTIO_NAME)) < VSI_OK) | |
1140 { | |
1141 TRACE_EVENT ("cannot open PKTIO"); | |
1142 return PEI_ERROR; | |
1143 } | |
1144 } | |
1145 #endif | |
1146 #endif /* GPRS */ | |
1147 | |
1148 #ifdef FF_GPF_TCPIP | |
1149 if (hCommDCM < VSI_OK) | |
1150 { | |
1151 if ((hCommDCM = vsi_c_open (VSI_CALLER DCM_NAME)) < VSI_OK) | |
1152 return PEI_ERROR; | |
1153 } | |
1154 #endif /* FF_GPF_TCPIP */ | |
1155 | |
1156 #else /* for hCommHandles backward compatibility */ | |
1157 if (hCommSIM < VSI_OK) | |
1158 { | |
1159 if ((hCommSIM = vsi_c_open (VSI_CALLER SIM_NAME)) < VSI_OK) | |
1160 return PEI_ERROR; | |
1161 } | |
1162 | |
1163 #ifdef FF_ESIM | |
1164 if (hCommESIM < VSI_OK) /* open channel to ESIM entity */ | |
1165 { | |
1166 if ((hCommESIM = vsi_c_open (VSI_CALLER ESIM_NAME)) < VSI_OK) | |
1167 return PEI_ERROR; | |
1168 } | |
1169 #endif | |
1170 if (hCommMM < VSI_OK) | |
1171 { | |
1172 if ((hCommMM = vsi_c_open (VSI_CALLER MM_NAME)) < VSI_OK) | |
1173 return PEI_ERROR; | |
1174 } | |
1175 | |
1176 if (hCommCC < VSI_OK) | |
1177 { | |
1178 if ((hCommCC = vsi_c_open (VSI_CALLER CC_NAME)) < VSI_OK) | |
1179 return PEI_ERROR; | |
1180 } | |
1181 | |
1182 if (hCommSS < VSI_OK) | |
1183 { | |
1184 if ((hCommSS = vsi_c_open (VSI_CALLER SS_NAME)) < VSI_OK) | |
1185 return PEI_ERROR; | |
1186 } | |
1187 | |
1188 if (hCommSMS < VSI_OK) | |
1189 { | |
1190 if ((hCommSMS = vsi_c_open (VSI_CALLER SMS_NAME)) < VSI_OK) | |
1191 return PEI_ERROR; | |
1192 } | |
1193 | |
1194 #ifdef UART | |
1195 if (hCommUART < VSI_OK) | |
1196 { | |
1197 if ((hCommUART = vsi_c_open (VSI_CALLER UART_NAME)) < VSI_OK) | |
1198 return PEI_ERROR; | |
1199 } | |
1200 #endif | |
1201 | |
1202 if (hCommPL < VSI_OK) | |
1203 { | |
1204 if ((hCommPL = vsi_c_open (VSI_CALLER PL_NAME)) < VSI_OK) | |
1205 return PEI_ERROR; | |
1206 } | |
1207 | |
1208 #if defined FF_EOTD | |
1209 if (hCommLC < VSI_OK) | |
1210 { | |
1211 if ((hCommLC = vsi_c_open (VSI_CALLER LC_NAME)) < VSI_OK) | |
1212 return PEI_ERROR; | |
1213 } | |
1214 #endif | |
1215 | |
1216 #ifdef FF_TCP_IP | |
1217 /*#ifndef _SIMULATION_*/ | |
1218 if (hCommAAA < VSI_OK) | |
1219 { | |
1220 if ((hCommAAA = vsi_c_open (VSI_CALLER AAA_NAME)) < VSI_OK) | |
1221 return PEI_ERROR; | |
1222 } | |
1223 /*#endif*/ | |
1224 #endif | |
1225 | |
1226 #if defined FF_TRACE_OVER_MTST | |
1227 if (hCommMTST < VSI_OK) | |
1228 { | |
1229 if ((hCommMTST = vsi_c_open (VSI_CALLER "MTST")) < VSI_OK) | |
1230 return PEI_ERROR; | |
1231 } | |
1232 #endif | |
1233 | |
1234 if (hCommACI < VSI_OK) | |
1235 { | |
1236 if ((hCommACI = vsi_c_open (VSI_CALLER ACI_NAME)) < VSI_OK) | |
1237 return PEI_ERROR; | |
1238 } | |
1239 | |
1240 #ifdef FAX_AND_DATA | |
1241 #ifndef USE_L1FD_FUNC_INTERFACE | |
1242 if (hCommRA < VSI_OK) | |
1243 { | |
1244 if ((hCommRA = vsi_c_open (VSI_CALLER RA_NAME)) < VSI_OK) | |
1245 return PEI_ERROR; | |
1246 } | |
1247 #endif | |
1248 if (hCommL2R < VSI_OK) | |
1249 { | |
1250 if ((hCommL2R = vsi_c_open (VSI_CALLER L2R_NAME)) < VSI_OK) | |
1251 return PEI_ERROR; | |
1252 } | |
1253 | |
1254 if (hCommTRA < VSI_OK) | |
1255 { | |
1256 /* TRA_NAME i.e "L2R" on account of TRA being no real entity */ | |
1257 if ((hCommTRA = vsi_c_open (VSI_CALLER TRA_NAME)) < VSI_OK) | |
1258 return PEI_ERROR; | |
1259 } | |
1260 | |
1261 #ifdef FF_FAX | |
1262 if (hCommT30 < VSI_OK) | |
1263 { | |
1264 if ((hCommT30 = vsi_c_open (VSI_CALLER T30_NAME)) < VSI_OK) | |
1265 return PEI_ERROR; | |
1266 } | |
1267 #endif /* FF_FAX */ | |
1268 #endif /* FAX_AND_DATA */ | |
1269 | |
1270 #ifdef FF_GPF_TCPIP | |
1271 if (hCommTCPIP < VSI_OK) | |
1272 { | |
1273 if ((hCommTCPIP = vsi_c_open (VSI_CALLER TCPIP_NAME)) < VSI_OK) | |
1274 return PEI_ERROR; | |
1275 } | |
1276 #endif | |
1277 | |
1278 #if defined (CO_TCPIP_TESTAPP) || defined (CO_BAT_TESTAPP) | |
1279 if (hCommAPP < VSI_OK) | |
1280 { | |
1281 if ((hCommAPP = vsi_c_open (VSI_CALLER APP_NAME)) < VSI_OK) | |
1282 return PEI_ERROR; | |
1283 } | |
1284 #endif | |
1285 | |
1286 #ifdef CO_UDP_IP | |
1287 if (hCommUDP < VSI_OK) | |
1288 { | |
1289 if ((hCommUDP = vsi_c_open (VSI_CALLER UDP_NAME)) < VSI_OK) | |
1290 return PEI_ERROR; | |
1291 } | |
1292 if (hCommIP < VSI_OK) | |
1293 { | |
1294 if ((hCommIP = vsi_c_open (VSI_CALLER IP_NAME)) < VSI_OK) | |
1295 return PEI_ERROR; | |
1296 } | |
1297 #endif | |
1298 | |
1299 #ifdef FF_WAP | |
1300 if (hCommWAP < VSI_OK) | |
1301 { | |
1302 if ((hCommWAP = vsi_c_open (VSI_CALLER WAP_NAME)) < VSI_OK) | |
1303 return PEI_ERROR; | |
1304 } | |
1305 #endif | |
1306 | |
1307 #if defined (FF_WAP) || defined (GPRS) || defined (FF_SAT_E) | |
1308 if (hCommPPP < VSI_OK) | |
1309 { | |
1310 if ((hCommPPP = vsi_c_open (VSI_CALLER PPP_NAME)) < VSI_OK) | |
1311 return PEI_ERROR; | |
1312 } | |
1313 #endif | |
1314 | |
1315 #ifdef FF_EM_MODE | |
1316 if (hCommRR < VSI_OK) | |
1317 { | |
1318 if ((hCommRR = vsi_c_open (VSI_CALLER RR_NAME)) < VSI_OK) | |
1319 return PEI_ERROR; | |
1320 } | |
1321 #endif /* FF_EM_MODE */ | |
1322 | |
1323 #if defined (GPRS) AND defined (DTI) | |
1324 if (hCommGMM < VSI_OK) | |
1325 { | |
1326 if ((hCommGMM = vsi_c_open (VSI_CALLER GMM_NAME)) < VSI_OK) | |
1327 return PEI_ERROR; | |
1328 } | |
1329 if (hCommSM < VSI_OK) | |
1330 { | |
1331 if ((hCommSM = vsi_c_open (VSI_CALLER SM_NAME)) < VSI_OK) | |
1332 return PEI_ERROR; | |
1333 } | |
1334 if (hCommUPM < VSI_OK) | |
1335 { | |
1336 if ((hCommUPM = vsi_c_open (VSI_CALLER UPM_NAME)) < VSI_OK) | |
1337 return PEI_ERROR; | |
1338 } | |
1339 if (hCommSNDCP < VSI_OK) | |
1340 { | |
1341 if ((hCommSNDCP = vsi_c_open (VSI_CALLER SNDCP_NAME)) < VSI_OK) | |
1342 return PEI_ERROR; | |
1343 } | |
1344 | |
1345 #ifdef FF_PKTIO | |
1346 if (hCommPKTIO < VSI_OK) | |
1347 { | |
1348 if ((hCommPKTIO = vsi_c_open (VSI_CALLER PKTIO_NAME)) < VSI_OK) | |
1349 { | |
1350 TRACE_EVENT ("cannot open PKTIO"); | |
1351 return PEI_ERROR; | |
1352 } | |
1353 } | |
1354 #endif | |
1355 #endif /* GPRS */ | |
1356 #ifdef FF_PSI | |
1357 if (hCommPSI < VSI_OK) | |
1358 { | |
1359 if ((hCommPSI = vsi_c_open (VSI_CALLER PSI_NAME)) < VSI_OK) | |
1360 { | |
1361 TRACE_EVENT ("cannot open PSI"); | |
1362 return PEI_ERROR; | |
1363 } | |
1364 } | |
1365 #endif /*FF_PSI*/ | |
1366 #ifdef BT_ADAPTER | |
1367 if (hCommBTI < VSI_OK) | |
1368 { | |
1369 if ((hCommBTI = vsi_c_open (VSI_CALLER BTI_NAME)) < VSI_OK) | |
1370 return PEI_ERROR; | |
1371 } | |
1372 #endif /* BT_ADAPTER */ | |
1373 | |
1374 #ifdef FF_GPF_TCPIP | |
1375 if (hCommDCM < VSI_OK) | |
1376 { | |
1377 if ((hCommDCM = vsi_c_open (VSI_CALLER DCM_NAME)) < VSI_OK) | |
1378 return PEI_ERROR; | |
1379 } | |
1380 #endif /* FF_GPF_TCPIP */ | |
1381 | |
1382 if (hCommL1 < VSI_OK) | |
1383 { | |
1384 if ((hCommL1 = vsi_c_open (VSI_CALLER L1_NAME)) < VSI_OK) | |
1385 return PEI_ERROR; | |
1386 } | |
1387 | |
1388 #endif /* TI_PS_HCOMM_CHANGE */ | |
1389 | |
1390 #ifdef DTI | |
1391 #ifdef _SIMULATION_ | |
1392 /* | |
1393 * initialize dtilib for this entity | |
1394 */ | |
1395 aci_hDTI = dti_init ( | |
1396 4, | |
1397 handle, | |
1398 DTI_DEFAULT_OPTIONS, | |
1399 aci_pei_sig_callback | |
1400 ); | |
1401 #else | |
1402 /* | |
1403 * initialize dtilib for this entity | |
1404 */ | |
1405 aci_hDTI = dti_init ( | |
1406 ACI_INSTANCES * UART_INSTANCES, | |
1407 handle, | |
1408 DTI_DEFAULT_OPTIONS, | |
1409 aci_pei_sig_callback | |
1410 ); | |
1411 #endif | |
1412 #endif /* DTI */ | |
1413 | |
1414 #ifdef DTI | |
1415 if(aci_hDTI EQ NULL) | |
1416 { | |
1417 TRACE_EVENT ("ACI DTI handle is 0"); | |
1418 return PEI_ERROR; | |
1419 } | |
1420 #endif | |
1421 | |
1422 #ifdef SMI | |
1423 /* | |
1424 * initialize the slim man machine interface | |
1425 */ | |
1426 if (_pei_init () EQ PEI_ERROR) | |
1427 return PEI_ERROR; | |
1428 #endif | |
1429 | |
1430 #ifdef ACI | |
1431 audio_Init ( NULL ); | |
1432 /* rx_Init( ) is not needed at the moment for ATI only version... | |
1433 causes the software not to start because it needs CST stack to be started first... | |
1434 rx_Init ( NULL ); */ | |
1435 pwr_Init ( NULL ); | |
1436 #endif | |
1437 | |
1438 | |
1439 /* | |
1440 * Initialize BT_ADAPTER | |
1441 */ | |
1442 #if defined(FF_ATI) && defined(BT_ADAPTER) | |
1443 if (btiaci_init(aci_handle) EQ BTI_NAK) | |
1444 return PEI_ERROR; | |
1445 btiaci_at_init_req(); | |
1446 #endif | |
1447 | |
1448 #ifdef FF_ATI | |
1449 init_ati (); | |
1450 #endif /* FF_ATI */ | |
1451 | |
1452 #ifdef UART | |
1453 cmhUART_lst_init (); | |
1454 #endif | |
1455 #ifdef DTI | |
1456 psaACI_Init(); | |
1457 dti_cntrl_init(); | |
1458 #endif | |
1459 #if defined (FF_PSI) AND defined (DTI) | |
1460 cmhPSI_lst_init(); | |
1461 #endif /*FF_PSI*/ | |
1462 /* | |
1463 * initialize CMH's | |
1464 */ | |
1465 cmh_Init (); | |
1466 cmh_Reset ( CMD_SRC_LCL, FALSE ); | |
1467 #ifdef FF_ATI | |
1468 cmh_Reset ( CMD_SRC_ATI_1, FALSE ); | |
1469 cmh_Reset ( CMD_SRC_ATI_2, FALSE ); | |
1470 cmh_Reset ( CMD_SRC_ATI_3, FALSE ); | |
1471 cmh_Reset ( CMD_SRC_ATI_4, FALSE ); | |
1472 #ifdef SIM_TOOLKIT | |
1473 cmh_Reset ( CMD_SRC_ATI_5, FALSE ); | |
1474 #endif /* SIM_TOOLKIT */ | |
1475 #if defined FF_EOTD OR defined _SIMULATION_ | |
1476 cmh_Reset ( CMD_SRC_ATI_6, FALSE ); | |
1477 #endif /* FF_EOTD */ | |
1478 #endif /* FF_ATI */ | |
1479 | |
1480 /* | |
1481 * initialize PSA's | |
1482 */ | |
1483 #if defined (SIM_TOOLKIT) | |
1484 psaSAT_Init(); /* has to be done first! */ | |
1485 #endif | |
1486 psaSS_Init(); | |
1487 #ifdef ACI | |
1488 psaMMI_Init(); | |
1489 #endif | |
1490 psaCC_Init(); | |
1491 psaMM_Init(); | |
1492 psaSIM_Init(ACI_INIT_TYPE_ALL); | |
1493 psaMMI_Init(); | |
1494 psaSMS_Init(); | |
1495 | |
1496 #ifdef FAX_AND_DATA | |
1497 psaRA_Init(); | |
1498 psaL2R_Init(); | |
1499 #ifdef FF_FAX | |
1500 psaT30_Init(); | |
1501 #endif /* FF_FAX */ | |
1502 #endif /* FAX_AND_DATA */ | |
1503 | |
1504 #ifdef GPRS | |
1505 psa_GPRSInit(); | |
1506 #endif /* GPRS */ | |
1507 | |
1508 #if defined (FF_WAP) || defined (FF_PPP) || defined(FF_GPF_TCPIP)|| defined (FF_SAT_E) | |
1509 psaPPP_Init(); | |
1510 #endif /* (FF_WAP) (FF_PPP) (FF_GPF_TCPIP) (FF_SAT_E) */ | |
1511 | |
1512 #if defined(CO_UDP_IP) || defined(FF_GPF_TCPIP) | |
1513 psaTCPIP_Init(); | |
1514 #endif /* CO_UDP_IP || FF_GPF_TCPIP */ | |
1515 | |
1516 #if defined(FF_GPF_TCPIP) | |
1517 dcm_init() ; | |
1518 #endif /* FF_GPF_TCPIP */ | |
1519 | |
1520 | |
1521 #ifdef AT_ADAPTER | |
1522 psaBTI_Init(); | |
1523 #endif /* AT_ADAPTER */ | |
1524 | |
1525 /* | |
1526 * Initialize Message Coder Decoder | |
1527 */ | |
1528 ccd_init (); | |
1529 /* | |
1530 * Initialize the UART module | |
1531 */ | |
1532 #ifdef FF_ATI | |
1533 #ifdef UART | |
1534 urt_init (); | |
1535 #endif | |
1536 ati_cmd_init (); | |
1537 #endif | |
1538 | |
1539 /* | |
1540 * Initialize Advice of Charge Module | |
1541 */ | |
1542 aoc_init_calltable (); | |
1543 | |
1544 /* | |
1545 * Initialize phonebook | |
1546 */ | |
1547 #ifdef TI_PS_FFS_PHB | |
1548 pb_init (); | |
1549 #else | |
1550 phb_Init (); | |
1551 #endif | |
1552 rdlPrm_init(); | |
1553 | |
1554 /* The high level audio driver is initialised here */ | |
1555 hl_audio_drv_init(); | |
1556 | |
1557 #if defined(_TARGET_) | |
1558 cmhCC_rd_mode_FFS(AUTOM_REP_NOT_PRESENT,READ_RDLmode); /* read redial mode from FFS */ | |
1559 #endif /* _TARGET_*/ | |
1560 | |
1561 #ifdef DTI | |
1562 #ifdef _SIMULATION_ | |
1563 #ifdef FF_ATI_BAT | |
1564 ati_bat_reset(); | |
1565 #endif | |
1566 ati_src_tst_init( CMD_SRC_EXT ); | |
1567 #endif | |
1568 #endif | |
1569 | |
1570 #if defined FF_EOTD | |
1571 ati_src_lc_init( CMD_SRC_EXT ); | |
1572 #endif /* FF_EOTD */ | |
1573 | |
1574 #ifdef MFW | |
1575 /* | |
1576 * initialise ACI extension handler | |
1577 * and start MMI Logic | |
1578 */ | |
1579 aci_ext_init (); | |
1580 mmi_main (); | |
1581 #endif | |
1582 | |
1583 #ifdef FF_MMI_RIV | |
1584 acia_init(); | |
1585 #endif | |
1586 | |
1587 return PEI_OK; | |
1588 } | |
1589 | |
1590 /* | |
1591 +--------------------------------------------------------------------+ | |
1592 | PROJECT : GSM-F&D (8411) MODULE : ACI_PEI | | |
1593 | STATE : code ROUTINE : pei_timeout | | |
1594 +--------------------------------------------------------------------+ | |
1595 | |
1596 PURPOSE : Process timeout | |
1597 | |
1598 */ | |
1599 | |
1600 LOCAL SHORT pei_timeout (USHORT index) | |
1601 { | |
1602 tim_exec_timeout (index); | |
1603 | |
1604 return PEI_OK; | |
1605 } | |
1606 | |
1607 /* | |
1608 +--------------------------------------------------------------------+ | |
1609 | PROJECT : GSM-F&D (8411) MODULE : ACI_PEI | | |
1610 | STATE : code ROUTINE : mmi_pei_signal | | |
1611 +--------------------------------------------------------------------+ | |
1612 | |
1613 PURPOSE : Functional interface to signal a primitive. | |
1614 | |
1615 */ | |
1616 | |
1617 LOCAL SHORT pei_signal ( ULONG opc, void *primData ) | |
1618 { | |
1619 #ifdef OPTION_SIGNAL | |
1620 #ifndef _TMS470 | |
1621 TRACE_FUNCTION ("pei_signal ()"); | |
1622 #endif /* _TMS470 */ | |
1623 | |
1624 switch (opc) | |
1625 { | |
1626 #ifdef FF_MMI_RIV | |
1627 case ACI_RIV_CMD_REQ: | |
1628 aci_aci_riv_cmd_req ((T_ACI_RIV_CMD_REQ *) primData); | |
1629 break; | |
1630 #endif | |
1631 #ifdef FAX_AND_DATA | |
1632 case RA_ACTIVATE_CNF: | |
1633 psa_ra_activate_cnf | |
1634 ( | |
1635 (T_RA_ACTIVATE_CNF *) primData | |
1636 ); | |
1637 break; | |
1638 case RA_DEACTIVATE_CNF: | |
1639 psa_ra_deactivate_cnf | |
1640 ( | |
1641 (T_RA_DEACTIVATE_CNF *) primData | |
1642 ); | |
1643 break; | |
1644 #ifdef FF_FAX | |
1645 case RA_MODIFY_CNF: | |
1646 psa_ra_modify_cnf | |
1647 ( | |
1648 (T_RA_MODIFY_CNF *) primData | |
1649 ); | |
1650 break; | |
1651 #endif /* FF_FAX */ | |
1652 #endif /* FAX_AND_DATA */ | |
1653 | |
1654 #ifdef FF_ATI | |
1655 /* ES!! #if !defined (MFW) */ | |
1656 case ACI_CMD_REQ: | |
1657 aci_aci_cmd_req | |
1658 ( | |
1659 (T_ACI_CMD_REQ *) primData | |
1660 ); | |
1661 break; | |
1662 case ACI_ABORT_REQ: | |
1663 aci_aci_abort_req | |
1664 ( | |
1665 (T_ACI_ABORT_REQ *) primData | |
1666 ); | |
1667 break; | |
1668 #endif /* FF_ATI */ | |
1669 } | |
1670 #endif /* OPTION_SIGNAL */ | |
1671 | |
1672 return PEI_OK; | |
1673 } | |
1674 | |
1675 /* | |
1676 +--------------------------------------------------------------------+ | |
1677 | PROJECT : GSM-F&D (8411) MODULE : ACI_PEI | | |
1678 | STATE : code ROUTINE : pei_exit | | |
1679 +--------------------------------------------------------------------+ | |
1680 | |
1681 PURPOSE : Close Resources and terminate | |
1682 | |
1683 */ | |
1684 LOCAL SHORT pei_exit (void) | |
1685 { | |
1686 U8 i; | |
1687 | |
1688 TRACE_FUNCTION ("pei_exit()"); | |
1689 | |
1690 /* | |
1691 * clean up communication | |
1692 */ | |
1693 #ifdef DTI | |
1694 /* close all open dti channels */ | |
1695 dti_cntrl_close_all_connections(); | |
1696 | |
1697 /* | |
1698 * Shut down dtilib communication | |
1699 */ | |
1700 dti_deinit(aci_hDTI); | |
1701 #endif | |
1702 | |
1703 #ifdef TI_PS_HCOMM_CHANGE | |
1704 cl_hcomm_close_all_handles(); | |
1705 | |
1706 #ifdef FF_ESIM | |
1707 vsi_c_close (VSI_CALLER hCommESIM); | |
1708 hCommESIM = VSI_ERROR; | |
1709 #endif | |
1710 | |
1711 #ifdef UART | |
1712 vsi_c_close (VSI_CALLER hCommDTI); | |
1713 hCommDTI = VSI_ERROR; | |
1714 #endif | |
1715 | |
1716 | |
1717 #ifdef FF_TRACE_OVER_MTST | |
1718 vsi_c_close (VSI_CALLER hCommMTST); | |
1719 hCommMTST = VSI_ERROR; | |
1720 #endif | |
1721 | |
1722 #ifdef FF_GPF_TCPIP | |
1723 vsi_c_close (VSI_CALLER hCommTCPIP); | |
1724 hCommTCPIP = VSI_ERROR; | |
1725 #endif | |
1726 | |
1727 #if defined (CO_TCPIP_TESTAPP) || defined (CO_BAT_TESTAPP) | |
1728 vsi_c_close (VSI_CALLER hCommAPP); | |
1729 hCommAPP = VSI_ERROR; | |
1730 #endif | |
1731 | |
1732 #ifdef GPRS | |
1733 vsi_c_close (VSI_CALLER hCommGMM); | |
1734 hCommGMM = VSI_ERROR; | |
1735 | |
1736 vsi_c_close (VSI_CALLER hCommSM); | |
1737 hCommSM = VSI_ERROR; | |
1738 | |
1739 vsi_c_close (VSI_CALLER hCommSNDCP); | |
1740 hCommSNDCP = VSI_ERROR; | |
1741 #ifdef FF_PKTIO | |
1742 vsi_c_close (VSI_CALLER hCommPKTIO); | |
1743 hCommPKTIO = VSI_ERROR; | |
1744 #endif | |
1745 #endif /* GPRS */ | |
1746 #else | |
1747 #ifdef FF_TRACE_OVER_MTST | |
1748 vsi_c_close (VSI_CALLER hCommMTST); | |
1749 hCommMTST = VSI_ERROR; | |
1750 #endif | |
1751 | |
1752 vsi_c_close (VSI_CALLER hCommSIM); | |
1753 hCommSIM = VSI_ERROR; | |
1754 | |
1755 vsi_c_close (VSI_CALLER hCommSIM); | |
1756 hCommSIM = VSI_ERROR; | |
1757 | |
1758 vsi_c_close (VSI_CALLER hCommMM); | |
1759 hCommMM = VSI_ERROR; | |
1760 | |
1761 vsi_c_close (VSI_CALLER hCommCC); | |
1762 hCommCC = VSI_ERROR; | |
1763 | |
1764 #ifdef FF_ESIM | |
1765 vsi_c_close (VSI_CALLER hCommESIM); | |
1766 hCommESIM = VSI_ERROR; | |
1767 #endif | |
1768 | |
1769 vsi_c_close (VSI_CALLER hCommSS); | |
1770 hCommSS = VSI_ERROR; | |
1771 | |
1772 vsi_c_close (VSI_CALLER hCommSMS); | |
1773 hCommSMS = VSI_ERROR; | |
1774 | |
1775 #ifdef UART | |
1776 vsi_c_close (VSI_CALLER hCommDTI); | |
1777 hCommDTI = VSI_ERROR; | |
1778 | |
1779 vsi_c_close (VSI_CALLER hCommUART); | |
1780 hCommUART = VSI_ERROR; | |
1781 #endif | |
1782 #ifdef FF_PSI | |
1783 vsi_c_close (VSI_CALLER hCommPSI); | |
1784 hCommPSI = VSI_ERROR; | |
1785 #endif /*FF_PSI*/ | |
1786 /*#if defined SMI */ | |
1787 /* vsi_c_close (VSI_CALLER hCommSMI);*/ | |
1788 /* hCommSMI = VSI_ERROR;*/ | |
1789 /*#elif defined MFW */ | |
1790 /* vsi_c_close (VSI_CALLER hCommMMI);*/ | |
1791 /* hCommMMI = VSI_ERROR;*/ | |
1792 /*#elif defined ACI*/ | |
1793 vsi_c_close (VSI_CALLER hCommACI); | |
1794 hCommACI = VSI_ERROR; | |
1795 /*#endif*/ | |
1796 | |
1797 vsi_c_close (VSI_CALLER hCommPL); | |
1798 hCommPL = VSI_ERROR; | |
1799 | |
1800 #if defined FF_EOTD | |
1801 vsi_c_close (VSI_CALLER hCommLC); | |
1802 hCommLC = VSI_ERROR; | |
1803 #endif | |
1804 | |
1805 #ifdef FAX_AND_DATA | |
1806 #ifndef USE_L1FD_FUNC_INTERFACE | |
1807 vsi_c_close (VSI_CALLER hCommRA); | |
1808 hCommRA = VSI_ERROR; | |
1809 #endif | |
1810 vsi_c_close (VSI_CALLER hCommL2R); | |
1811 hCommL2R = VSI_ERROR; | |
1812 | |
1813 vsi_c_close (VSI_CALLER hCommTRA); | |
1814 hCommTRA = VSI_ERROR; | |
1815 | |
1816 #ifdef FF_FAX | |
1817 vsi_c_close (VSI_CALLER hCommT30); | |
1818 hCommT30 = VSI_ERROR; | |
1819 #endif /* FF_FAX */ | |
1820 #endif /* FAX_AND_DATA */ | |
1821 | |
1822 #ifdef FF_GPF_TCPIP | |
1823 vsi_c_close (VSI_CALLER hCommTCPIP); | |
1824 hCommTCPIP = VSI_ERROR; | |
1825 #endif | |
1826 | |
1827 #if defined (CO_TCPIP_TESTAPP) || defined (CO_BAT_TESTAPP) | |
1828 vsi_c_close (VSI_CALLER hCommAPP); | |
1829 hCommAPP = VSI_ERROR; | |
1830 #endif | |
1831 | |
1832 #ifdef CO_UDP_IP | |
1833 vsi_c_close (VSI_CALLER hCommUDP); | |
1834 hCommUDP = VSI_ERROR; | |
1835 vsi_c_close (VSI_CALLER hCommIP); | |
1836 hCommIP = VSI_ERROR; | |
1837 #endif | |
1838 | |
1839 #ifdef FF_WAP | |
1840 vsi_c_close (VSI_CALLER hCommWAP); | |
1841 hCommWAP = VSI_ERROR; | |
1842 #endif | |
1843 | |
1844 #if defined (FF_WAP) || defined (GPRS) || defined (FF_SAT_E) | |
1845 vsi_c_close (VSI_CALLER hCommPPP); | |
1846 hCommPPP = VSI_ERROR; | |
1847 #endif | |
1848 | |
1849 #ifdef GPRS | |
1850 vsi_c_close (VSI_CALLER hCommGMM); | |
1851 hCommGMM = VSI_ERROR; | |
1852 | |
1853 vsi_c_close (VSI_CALLER hCommSM); | |
1854 hCommSM = VSI_ERROR; | |
1855 | |
1856 vsi_c_close (VSI_CALLER hCommUPM); | |
1857 hCommUPM = VSI_ERROR; | |
1858 | |
1859 vsi_c_close (VSI_CALLER hCommSNDCP); | |
1860 hCommSNDCP = VSI_ERROR; | |
1861 #ifdef FF_PKTIO | |
1862 vsi_c_close (VSI_CALLER hCommPKTIO); | |
1863 hCommPKTIO = VSI_ERROR; | |
1864 #endif | |
1865 #endif /* GPRS */ | |
1866 | |
1867 #ifdef BT_ADAPTER | |
1868 vsi_c_close (VSI_CALLER hCommBTI); | |
1869 hCommBTI = VSI_ERROR; | |
1870 #endif /* BT_ADAPTER */ | |
1871 | |
1872 vsi_c_close (VSI_CALLER hCommL1); | |
1873 hCommL1 = VSI_ERROR; | |
1874 | |
1875 #endif /* TI_PS_HCOMM_CHANGE */ | |
1876 | |
1877 #ifdef SMI | |
1878 _pei_exit (); | |
1879 #endif | |
1880 | |
1881 /* | |
1882 * deallocate all channels | |
1883 * for non existing channels, this will just return | |
1884 */ | |
1885 #ifdef FF_ATI | |
1886 for (i = 1; i < CMD_SRC_MAX; i++) | |
1887 { | |
1888 ati_finit(i); | |
1889 } | |
1890 #endif /* FF_ATI */ | |
1891 | |
1892 /* Free still occupied pointers in ccShrdPrm */ | |
1893 for (i = 0; i < MAX_CALL_NR; i++) | |
1894 { | |
1895 if (ccShrdPrm.ctb[i] NEQ NULL) | |
1896 { | |
1897 psaCC_FreeCtbNtry (i); | |
1898 } | |
1899 } | |
1900 | |
1901 /* Deallocation of elements (2nd to last) in linked list PNN */ | |
1902 while (mmShrdPrm.PNNLst.next NEQ NULL) | |
1903 { | |
1904 T_pnn_name *nextnext = mmShrdPrm.PNNLst.next->next; | |
1905 ACI_MFREE (mmShrdPrm.PNNLst.next); | |
1906 mmShrdPrm.PNNLst.next = nextnext; | |
1907 } | |
1908 | |
1909 #ifdef DTI | |
1910 | |
1911 #if defined(FF_ATI) AND defined(SIM_TOOLKIT) | |
1912 run_at_id = 0xFF; | |
1913 #endif /* FF_ATI*/ | |
1914 | |
1915 #ifdef _SIMULATION_ | |
1916 ati_src_tst_finit(); | |
1917 #endif /* _SIMULATION_ */ | |
1918 #endif /* DTI */ | |
1919 | |
1920 #if defined FF_EOTD | |
1921 ati_src_lc_finit(); | |
1922 #endif /* FF_EOTD */ | |
1923 | |
1924 rdlPrm_exit(); | |
1925 | |
1926 #ifdef UART | |
1927 cmhUART_CleanComParameterList(); | |
1928 #endif | |
1929 | |
1930 | |
1931 #ifdef FF_PSI | |
1932 cmhPSI_clean_all_elem(); | |
1933 cmhPSI_CleanDcbParameterList(); | |
1934 #endif | |
1935 | |
1936 #ifdef UART | |
1937 cmhUART_lst_exit(); | |
1938 #endif | |
1939 | |
1940 return PEI_OK; | |
1941 } | |
1942 | |
1943 | |
1944 /* | |
1945 +--------------------------------------------------------------------+ | |
1946 | PROJECT : GSM-F&D (8411) MODULE : ACI_PEI | | |
1947 | STATE : code ROUTINE : pei_config | | |
1948 +--------------------------------------------------------------------+ | |
1949 | |
1950 PURPOSE : Dynamic Configuration | |
1951 | |
1952 */ | |
1953 | |
1954 #if !defined (NCONFIG) | |
1955 | |
1956 LOCAL const KW_DATA kwtab[] = | |
1957 { | |
1958 ACI_KEY_SEQUENCE, KEY_SEQUENCE, | |
1959 ACI_KEY_PRESS, KEY_PRESS, | |
1960 ACI_KEY_RELEASE, KEY_RELEASE, | |
1961 ACI_START_AOC, START_AOC, | |
1962 ACI_CPOL_MODE, CPOL_MODE, | |
1963 ACI_CPOL_IDX2, CPOL_IDX2, | |
1964 ACI_ATI_VIA_TIF, ATI_VIA_TIF, | |
1965 /* new here*/ | |
1966 #ifdef _SIMULATION_ | |
1967 ACI_DATA_INPUT, DATA_INPUT, | |
1968 #endif /* _SIMULATION_ */ | |
1969 "", 0 | |
1970 }; | |
1971 | |
1972 #endif | |
1973 | |
1974 #ifdef _SIMULATION_ | |
1975 | |
1976 #ifdef UART | |
1977 EXTERN void cmhUART_startConnection (UBYTE srcId, | |
1978 T_ACI_DEVICE_TYPE device_type); | |
1979 #endif /* UART */ | |
1980 EXTERN UBYTE uart_new_source (UBYTE device, UBYTE dlci); | |
1981 EXTERN void uart_new_source_for_aci_src_tst( UBYTE src_id, UBYTE device, UBYTE dlci ); | |
1982 #endif | |
1983 | |
1984 /* Implements Measure#36 */ | |
1985 #if !defined (NCONFIG) | |
1986 LOCAL SHORT pei_config (char *inString) | |
1987 { | |
1988 #ifdef FF_ATI | |
1989 BOOL alreadyCalled = FALSE; | |
1990 #endif | |
1991 | |
1992 char *s = inString; | |
1993 SHORT valno; | |
1994 char *keyw; | |
1995 char *val[10]; | |
1996 | |
1997 TRACE_FUNCTION ("pei_config()"); | |
1998 | |
1999 #ifdef UART | |
2000 if (!strcmp(inString, "UART_19200")) | |
2001 { | |
2002 cmhUART_SetDataRate((UBYTE) CMD_SRC_ATI, (T_ACI_BD_RATE)UART_IO_SPEED_19200); | |
2003 return PEI_OK; | |
2004 } | |
2005 #endif | |
2006 | |
2007 if (!strcmp(inString, "ATI_TRC")) | |
2008 { /* AT%CPRIM="MMI","CONFIG ATI_TRC" */ | |
2009 EXTERN BOOL _g_ati_trc_enabled; | |
2010 _g_ati_trc_enabled = TRUE; /* only switch on possible */ | |
2011 return PEI_OK; | |
2012 } | |
2013 | |
2014 #ifdef _SIMULATION_ | |
2015 | |
2016 #ifdef UART | |
2017 if (!strcmp(inString, "START_DTI")) | |
2018 { | |
2019 int i; | |
2020 UBYTE srcId; | |
2021 | |
2022 for (i=0;i<UART_INSTANCES;i++) | |
2023 { | |
2024 srcId = uart_new_source ((UBYTE)i, UART_DLCI_NOT_MULTIPLEXED); | |
2025 cmhUART_startConnection (srcId, DEVICE_TYPE_URT); | |
2026 } | |
2027 return PEI_OK; | |
2028 } | |
2029 if(!strcmp(inString, "EXPAND_ATI_SRC_TST")) | |
2030 { | |
2031 UBYTE srcId = ati_src_tst_get_src_id( (UBYTE) CMD_SRC_EXT ); | |
2032 | |
2033 if ( srcId EQ DTI_MNG_ID_NOTPRESENT ) | |
2034 return PEI_OK; | |
2035 | |
2036 uart_new_source_for_aci_src_tst( srcId, 0, NOT_PRESENT_8BIT ); | |
2037 cmhUART_startConnection (srcId, DEVICE_TYPE_URT); | |
2038 return PEI_OK; | |
2039 } | |
2040 | |
2041 if(!strncmp(inString, "ADD_TST_SRC", 11)) /* parameter [UART] */ | |
2042 { | |
2043 char *end = inString + 11; | |
2044 UBYTE srcId; | |
2045 | |
2046 srcId = ati_src_tst_get_src_id( (UBYTE) CMD_SRC_UNKNOWN ); | |
2047 | |
2048 if ( srcId EQ DTI_MNG_ID_NOTPRESENT ) | |
2049 return PEI_OK; | |
2050 | |
2051 while ( *end EQ ' ' ) | |
2052 end ++; | |
2053 | |
2054 if ( !strcmp( end, "UART")) | |
2055 { | |
2056 uart_new_source_for_aci_src_tst( srcId, srcId, NOT_PRESENT_8BIT ); | |
2057 cmhUART_startConnection (srcId, DEVICE_TYPE_URT); | |
2058 } | |
2059 | |
2060 if ( !strcmp( end, "UART_DP")) /* for dual port testing */ | |
2061 { | |
2062 static UBYTE device=0; /* lint: at least init to something */ | |
2063 uart_new_source_for_aci_src_tst( srcId, device, UART_DLCI_NOT_MULTIPLEXED ); | |
2064 cmhUART_startConnection (srcId, DEVICE_TYPE_URT); | |
2065 device++; | |
2066 } | |
2067 | |
2068 return PEI_OK; | |
2069 } | |
2070 #endif /* UART */ | |
2071 | |
2072 #ifdef DTI | |
2073 if (!strcmp(inString, "STOP_SRC_TST")) | |
2074 { | |
2075 EXTERN void ati_src_tst_finit (void); | |
2076 ati_src_tst_finit (); | |
2077 } | |
2078 #endif | |
2079 | |
2080 #if (defined SMI OR defined MFW) AND defined TI_PS_FF_CONC_SMS | |
2081 if (!strcmp(inString, "CONC_SMS_TST")) | |
2082 { | |
2083 EXTERN void concSMS_InitForTesting(); | |
2084 concSMS_InitForTesting(); | |
2085 return PEI_OK; | |
2086 } | |
2087 #endif /*#if (defined SMI OR defined MFW) AND defined TI_PS_FF_CONC_SMS */ | |
2088 | |
2089 if (!strcmp(inString, "ENABLE_VOCODER_TST")) | |
2090 { | |
2091 EXTERN void hl_audio_drv_initForTest(); | |
2092 hl_audio_drv_initForTest(); | |
2093 return PEI_OK; | |
2094 } | |
2095 | |
2096 #endif /* _SIMULATION_ */ | |
2097 | |
2098 #ifdef GPRS | |
2099 /* | |
2100 * Class modification | |
2101 * Author: ANS | |
2102 * initial: 07-Nov-00 | |
2103 */ | |
2104 if(!strcmp(inString,"CLASS_CC")) | |
2105 { | |
2106 default_mobile_class = GMMREG_CLASS_CC; | |
2107 return PEI_OK; | |
2108 } | |
2109 if(!strcmp(inString,"CLASS_CG")) | |
2110 { | |
2111 default_mobile_class = GMMREG_CLASS_CG; | |
2112 return PEI_OK; | |
2113 } | |
2114 if(!strcmp(inString,"CLASS_BC")) | |
2115 { | |
2116 default_mobile_class = GMMREG_CLASS_BC; | |
2117 return PEI_OK; | |
2118 } | |
2119 if(!strcmp(inString,"CLASS_BG")) | |
2120 { | |
2121 default_mobile_class = GMMREG_CLASS_BG; | |
2122 return PEI_OK; | |
2123 } | |
2124 if(!strcmp(inString,"CLASS_B")) | |
2125 { | |
2126 default_mobile_class = GMMREG_CLASS_B; | |
2127 return PEI_OK; | |
2128 } | |
2129 if(!strcmp(inString,"CLASS_A")) | |
2130 { | |
2131 default_mobile_class = GMMREG_CLASS_A; | |
2132 return PEI_OK; | |
2133 } | |
2134 /* | |
2135 * End Class modification | |
2136 */ | |
2137 | |
2138 /* | |
2139 * Attach mode modification | |
2140 * Author: BRZ | |
2141 * initial: 14-Apr-01 | |
2142 */ | |
2143 if(!strcmp(inString,"AUTO_ATTACH")) | |
2144 { | |
2145 automatic_attach_mode = CGAATT_ATTACH_MODE_AUTOMATIC; | |
2146 return PEI_OK; | |
2147 } | |
2148 if(!strcmp(inString,"MAN_ATTACH")) | |
2149 { | |
2150 automatic_attach_mode = CGAATT_ATTACH_MODE_MANUAL; | |
2151 return PEI_OK; | |
2152 } | |
2153 if(!strcmp(inString,"AUTO_DETACH")) | |
2154 { | |
2155 automatic_detach_mode = CGAATT_DETACH_MODE_ON; | |
2156 return PEI_OK; | |
2157 } | |
2158 if(!strcmp(inString,"MAN_DETACH")) | |
2159 { | |
2160 automatic_detach_mode = CGAATT_DETACH_MODE_OFF; | |
2161 return PEI_OK; | |
2162 } | |
2163 /* | |
2164 * End Attach mode modification | |
2165 */ | |
2166 #endif | |
2167 | |
2168 #ifdef MFW | |
2169 if (!strncmp("MFWMOB ",s,7)) | |
2170 { | |
2171 mfwExtIn(s+7); | |
2172 return PEI_OK; | |
2173 } | |
2174 #endif | |
2175 | |
2176 #ifdef _SIMULATION_ | |
2177 #ifdef MFW | |
2178 /* | |
2179 * Only for Windows: define several variants | |
2180 * of SIM LOCK pcm content | |
2181 */ | |
2182 if (!strncmp("SIMLOCK",s,7)) | |
2183 { | |
2184 EXTERN UBYTE sim_lock_mode; | |
2185 | |
2186 sim_lock_mode = atoi (s+8); | |
2187 return PEI_OK; | |
2188 } | |
2189 #endif | |
2190 #endif | |
2191 | |
2192 #ifdef FF_TIMEZONE | |
2193 /* | |
2194 * simulate an incoming MMR_INFO_IND | |
2195 */ | |
2196 if (!strncmp("TIMEZONE_TEST",s,13)) | |
2197 { | |
2198 TRACE_EVENT ("pei_config() TIMEZONE_TEST"); | |
2199 { | |
2200 PALLOC (mmr_info_ind, MMR_INFO_IND); /* is freed in psa_mmr_info_ind */ | |
2201 memset (mmr_info_ind, 0, sizeof (T_MMR_INFO_IND)); /* clear out all */ | |
2202 memcpy (mmr_info_ind->short_name.text, "RFT", 3); /* pseudo short name */ | |
2203 mmr_info_ind->short_name.v_name = 1; | |
2204 mmr_info_ind->short_name.c_text = 3; | |
2205 memcpy (mmr_info_ind->full_name.text, "Ramsch Fusch Tinneff", 20); /* pseudo long name */ | |
2206 mmr_info_ind->full_name.v_name = 1; | |
2207 mmr_info_ind->full_name.c_text = 20; | |
2208 mmr_info_ind->ntz.v_tz = 1; | |
2209 mmr_info_ind->ntz.tz = 0x19; /* simulate -2:45h away from GMT */ | |
2210 mmr_info_ind->time.v_time = 1; | |
2211 mmr_info_ind->time.day = 30; /* 30. February 2004 ;~) */ | |
2212 mmr_info_ind->time.month = 02; | |
2213 mmr_info_ind->time.year = 04; | |
2214 mmr_info_ind->time.hour = 11; | |
2215 mmr_info_ind->time.minute = 55; /* this stuff is really 5 before 12 */ | |
2216 mmr_info_ind->time.second = 59; | |
2217 mmr_info_ind->plmn.v_plmn = 1; | |
2218 mmr_info_ind->plmn.mcc[0] = 0x02; | |
2219 mmr_info_ind->plmn.mcc[1] = 0x06; | |
2220 mmr_info_ind->plmn.mcc[2] = 0x02; | |
2221 mmr_info_ind->plmn.mnc[0] = 0x00; | |
2222 mmr_info_ind->plmn.mnc[1] = 0x01; | |
2223 mmr_info_ind->plmn.mnc[2] = 0x0F; | |
2224 | |
2225 psa_mmr_info_ind(mmr_info_ind); | |
2226 return PEI_OK; | |
2227 } | |
2228 } | |
2229 #endif | |
2230 | |
2231 TRACE_EVENT_P1("pei_config() %s", s); | |
2232 | |
2233 tok_init(s); | |
2234 | |
2235 /* | |
2236 * Parse next keyword and number of variables | |
2237 */ | |
2238 while ((valno = tok_next(&keyw,val)) NEQ TOK_EOCS) | |
2239 { | |
2240 switch (tok_key((KW_DATA *)kwtab,keyw)) | |
2241 { | |
2242 #ifdef MFW | |
2243 case KEY_SEQUENCE: | |
2244 { | |
2245 if (valno EQ 1) | |
2246 { | |
2247 mfw_keystroke (val[0]); | |
2248 } | |
2249 else | |
2250 { | |
2251 TRACE_ERROR ("[PEI_CONFIG]: Wrong Number of Parameters"); | |
2252 } | |
2253 break; | |
2254 } | |
2255 #endif | |
2256 | |
2257 #ifdef MFW | |
2258 case KEY_PRESS: | |
2259 { | |
2260 if (valno EQ 1) | |
2261 { | |
2262 mfw_keystroke_long (val[0], 1); | |
2263 } | |
2264 else | |
2265 { | |
2266 TRACE_ERROR ("[PEI_CONFIG]: Wrong Number of Parameters"); | |
2267 } | |
2268 break; | |
2269 } | |
2270 #endif | |
2271 | |
2272 #ifdef MFW | |
2273 case KEY_RELEASE: | |
2274 { | |
2275 if (valno EQ 1) | |
2276 { | |
2277 mfw_keystroke_long (val[0], 0); | |
2278 } | |
2279 else | |
2280 { | |
2281 TRACE_ERROR ("[PEI_CONFIG]: Wrong Number of Parameters"); | |
2282 } | |
2283 break; | |
2284 } | |
2285 #endif | |
2286 | |
2287 case START_AOC: | |
2288 { | |
2289 T_FWD_CHG_ADVICE_INV charge; | |
2290 T_chargingInformation * aoc_para; | |
2291 | |
2292 aoc_para = &charge.forwardChargeAdviceArg.chargingInformation; | |
2293 | |
2294 TRACE_EVENT ("Set AoC Parameter"); | |
2295 | |
2296 aoc_para->v_e1 = TRUE; | |
2297 aoc_para->e1.c_e_val = 1; | |
2298 aoc_para->e1.e_val[0] = 60; | |
2299 aoc_para->v_e2 = TRUE; | |
2300 aoc_para->e2.c_e_val = 1; | |
2301 aoc_para->e2.e_val[0] = 140; | |
2302 aoc_para->v_e3 = TRUE; | |
2303 aoc_para->e3.c_e_val = 1; | |
2304 aoc_para->e3.e_val[0] = 100; | |
2305 aoc_para->v_e4 = TRUE; | |
2306 aoc_para->e4.c_e_val = 1; | |
2307 aoc_para->e4.e_val[0] = 250; | |
2308 aoc_para->v_e5 = FALSE; | |
2309 aoc_para->e5.c_e_val = 0; | |
2310 aoc_para->e5.e_val[0] = 0; | |
2311 aoc_para->v_e6 = FALSE; | |
2312 aoc_para->e6.c_e_val = 0; | |
2313 aoc_para->e6.e_val[0] = 0; | |
2314 aoc_para->v_e7 = TRUE; | |
2315 aoc_para->e7.c_e_val = 2; | |
2316 aoc_para->e7.e_val[0] = 0x2; | |
2317 aoc_para->e7.e_val[1] = 0x58; | |
2318 | |
2319 aoc_parameter(0, &charge); | |
2320 aoc_info (0, AOC_START_AOC); | |
2321 break; | |
2322 } | |
2323 | |
2324 #ifdef _SIMULATION_ | |
2325 case CPOL_MODE: | |
2326 { | |
2327 #ifdef FF_ATI | |
2328 if (valno EQ 1) | |
2329 { | |
2330 cpolMode = atoi(val[0]); | |
2331 } | |
2332 else | |
2333 { | |
2334 TRACE_ERROR ("[PEI_CONFIG]: Wrong Number of Parameters"); | |
2335 } | |
2336 #else | |
2337 TRACE_ERROR ("[PEI_CONFIG]: AT Command Interpreter Not Supported"); | |
2338 #endif | |
2339 break; | |
2340 } | |
2341 | |
2342 case CPOL_IDX2: | |
2343 { | |
2344 #ifdef FF_ATI | |
2345 if (valno EQ 1) | |
2346 { | |
2347 cpolIdx2 = atoi(val[0]); | |
2348 } | |
2349 else | |
2350 { | |
2351 TRACE_ERROR ("[PEI_CONFIG]: Wrong Number of Parameters"); | |
2352 } | |
2353 #else | |
2354 TRACE_ERROR ("[PEI_CONFIG]: AT Command Interpreter Not Supported"); | |
2355 #endif | |
2356 break; | |
2357 } | |
2358 #endif | |
2359 | |
2360 #ifdef FF_ATI | |
2361 #ifdef UART | |
2362 case ATI_VIA_TIF: | |
2363 { | |
2364 EXTERN BOOL atiViaTif; | |
2365 | |
2366 if (valno EQ 1) | |
2367 { | |
2368 if (strcmp (val[0], "ON") EQ 0) | |
2369 atiViaTif = TRUE; | |
2370 else if (strcmp (val[0], "OFF") EQ 0) | |
2371 atiViaTif = FALSE; | |
2372 else | |
2373 TRACE_ERROR ("[PEI_CONFIG]: Wrong Parameter Value"); | |
2374 } | |
2375 else | |
2376 { | |
2377 TRACE_ERROR ("[PEI_CONFIG]: Wrong Number of Parameters"); | |
2378 } | |
2379 break; | |
2380 } | |
2381 #endif /* UART */ | |
2382 #endif | |
2383 | |
2384 default: | |
2385 { | |
2386 #ifdef FF_ATI | |
2387 if ( ( toupper ( inString[0] ) ) EQ 'A' AND | |
2388 ( toupper ( inString[1] ) ) EQ 'T' ) | |
2389 { | |
2390 USHORT len = 0; | |
2391 | |
2392 /* | |
2393 *--------------------------------------------------------- | |
2394 * parsing algorithm is not suitable for transparent data | |
2395 * transfer, call aciCommand only once | |
2396 *--------------------------------------------------------- | |
2397 */ | |
2398 if (!alreadyCalled) | |
2399 { | |
2400 while (inString[len] NEQ ' ' AND inString[len] NEQ '\0') | |
2401 len++; | |
2402 | |
2403 inString[len] = '\0'; | |
2404 | |
2405 ati_execute_config_cmd ((UBYTE*)inString, len); | |
2406 } | |
2407 | |
2408 alreadyCalled = TRUE; | |
2409 } | |
2410 else | |
2411 #endif | |
2412 { | |
2413 #ifdef SMI | |
2414 return _pei_config (inString); | |
2415 #else | |
2416 TRACE_ERROR ("[PEI_CONFIG]: Illegal Keyword"); | |
2417 #endif | |
2418 } | |
2419 break; | |
2420 } | |
2421 } | |
2422 } | |
2423 | |
2424 return PEI_OK; | |
2425 } | |
2426 #endif /* NCONFIG */ | |
2427 | |
2428 /* | |
2429 +--------------------------------------------------------------------+ | |
2430 | PROJECT : GSM-F&D (8411) MODULE : ACI_PEI | | |
2431 | STATE : code ROUTINE : pei_monitor | | |
2432 +--------------------------------------------------------------------+ | |
2433 | |
2434 PURPOSE : Monitoring of physical Parameters | |
2435 | |
2436 */ | |
2437 LOCAL SHORT pei_monitor (void ** monitor) | |
2438 { | |
2439 TRACE_FUNCTION ("pei_monitor()"); | |
2440 | |
2441 #ifdef SMI | |
2442 _pei_monitor (monitor); | |
2443 #else | |
2444 /* Implements Measure#32: Row 41 */ | |
2445 #endif | |
2446 | |
2447 *monitor = &aci_mon; | |
2448 | |
2449 return PEI_OK; | |
2450 } | |
2451 | |
2452 | |
2453 /* | |
2454 +--------------------------------------------------------------------+ | |
2455 | PROJECT : GSM-F&D (8411) MODULE : ACI_PEI | | |
2456 | STATE : code ROUTINE : pei_create | | |
2457 +--------------------------------------------------------------------+ | |
2458 | |
2459 PURPOSE : Create the Protocol Stack Entity | |
2460 | |
2461 */ | |
2462 | |
2463 GLOBAL SHORT aci_pei_create (T_PEI_INFO **info) | |
2464 { | |
2465 static const T_PEI_INFO pei_info = | |
2466 { | |
2467 ACI_NAME, | |
2468 { | |
2469 pei_init, | |
2470 #ifdef _SIMULATION_ | |
2471 pei_exit, | |
2472 #else | |
2473 NULL, | |
2474 #endif | |
2475 pei_primitive, | |
2476 pei_timeout, | |
2477 pei_signal, | |
2478 NULL, /* no run function */ | |
2479 /* Implements Measure#36 */ | |
2480 #if defined(NCONFIG) | |
2481 NULL, /* no pei_config function */ | |
2482 #else /* NCONFIG */ | |
2483 pei_config, | |
2484 #endif /* NCONFIG */ | |
2485 pei_monitor, | |
2486 }, | |
2487 #if defined (ACI) | |
2488 3072, /* Stack Size */ | |
2489 #endif | |
2490 #if defined (SMI) | |
2491 3072, /* Stack Size */ | |
2492 #endif | |
2493 /* Increased 300 bytes because when DCM is used for GPRS call | |
2494 more number of bytes need in the stack */ | |
2495 #if defined (MFW) | |
2496 4396, /* Stack Size */ | |
2497 #endif | |
2498 #if defined (FF_MMI_RIV) | |
2499 3072, /* Stack Size */ | |
2500 #endif | |
2501 20, /* Queue Entries */ | |
2502 #if defined (ACI) | |
2503 100, /* Priority */ | |
2504 #endif | |
2505 #if defined (SMI) | |
2506 100, /* Priority */ | |
2507 #endif | |
2508 #if defined (MFW) | |
2509 100, /* Priority */ | |
2510 #endif | |
2511 #if defined (FF_MMI_RIV) | |
2512 100, /* Priority */ | |
2513 #endif | |
2514 | |
2515 MAX_ACI_TIMER, /* number of timer */ | |
2516 0x03|PRIM_NO_SUSPEND /* flags */ | |
2517 }; | |
2518 | |
2519 TRACE_FUNCTION ("pei_create()"); | |
2520 | |
2521 /* | |
2522 * Close Resources if open | |
2523 */ | |
2524 | |
2525 #ifdef _SIMULATION_ | |
2526 if (first_access) | |
2527 first_access = FALSE; | |
2528 else | |
2529 pei_exit (); | |
2530 #endif | |
2531 | |
2532 /* | |
2533 * Export startup configuration data | |
2534 */ | |
2535 | |
2536 *info = (T_PEI_INFO *)&pei_info; | |
2537 | |
2538 return PEI_OK; | |
2539 } | |
2540 | |
2541 | |
2542 #endif /* ACI_PEI_C */ |