FreeCalypso > hg > fc-tourmaline
comparison src/g23m-fad/ip/ip_pei.c @ 1:fa8dc04885d8
src/g23m-*: import from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:25:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:4e78acac3d88 | 1:fa8dc04885d8 |
---|---|
1 /* | |
2 +---------------------------------------------------------------------------- | |
3 | Project : GSM-FaD (8411) | |
4 | Modul : IP_PEI | |
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 Modul defines the process body interface | |
18 | for the component Internet Protocol of the mobile station | |
19 +---------------------------------------------------------------------------- | |
20 */ | |
21 | |
22 #define ENTITY_IP | |
23 | |
24 /*==== INCLUDES ===================================================*/ | |
25 | |
26 #include <string.h> | |
27 #include <stdlib.h> | |
28 #include <stddef.h> | |
29 #include "typedefs.h" | |
30 #include "pcm.h" | |
31 #include "vsi.h" | |
32 #include "macdef.h" | |
33 #include "custom.h" | |
34 #include "gsm.h" | |
35 #include "message.h" | |
36 #include "ccdapi.h" | |
37 #include "prim.h" | |
38 #include "cus_ip.h" | |
39 #include "cnf_ip.h" | |
40 #include "mon_ip.h" | |
41 #include "pei.h" | |
42 #include "tok.h" | |
43 #include "dti.h" /* To get DTI lib */ | |
44 #include "ip.h" | |
45 | |
46 /*==== CONST ======================================================*/ | |
47 | |
48 /*==== VAR EXPORT =================================================*/ | |
49 | |
50 T_HANDLE hCommMMI = VSI_ERROR; /* ACI communication */ | |
51 T_HANDLE hCommDL = VSI_ERROR; /* Actual downlink, one of hcommPPP and hcommSNDCP */ | |
52 T_HANDLE hCommIP = VSI_ERROR; /* IP communication */ | |
53 T_HANDLE hCommHL = VSI_ERROR; /* HL communication */ | |
54 T_HANDLE ip_handle; | |
55 | |
56 T_IP_DATA ip_data_base [IP_INSTANCES], * ip_data; | |
57 | |
58 /* DTI database. The database is allocated in function dti_init(). */ | |
59 | |
60 DTI_HANDLE ip_hDTI; | |
61 | |
62 /*==== VAR LOCAL ==================================================*/ | |
63 | |
64 #ifdef OPTION_RELATIVE | |
65 static ULONG offset; | |
66 #endif | |
67 | |
68 /* static USHORT t_flag = 0; *//* Timeout flag */ | |
69 static BOOL first_access = TRUE; | |
70 static T_MONITOR ip_mon; | |
71 | |
72 /*==== FUNCTIONS ==================================================*/ | |
73 | |
74 /* | |
75 +--------------------------------------------------------------------+ | |
76 | PROJECT : GSM-FaD (8411) MODULE : IP_PEI | | |
77 | STATE : code ROUTINE : pei_not_supported | | |
78 +--------------------------------------------------------------------+ | |
79 | |
80 PURPOSE : An unsupported primitive is received. | |
81 */ | |
82 static void pei_not_supported (void * data) | |
83 { | |
84 TRACE_FUNCTION ("pei_not_supported()"); | |
85 | |
86 PFREE (data); | |
87 } | |
88 | |
89 /* Use MAK_FUNC_0 for primitives which contain no SDU. | |
90 * Use MAK_FUNC_S for primitives which contain a SDU. */ | |
91 | |
92 /* Jumptable for the IPA service access point. | |
93 * Contains the processing-function addresses and | |
94 * opcodes of request and response primitives. */ | |
95 | |
96 static const T_FUNC ipa_table[] = { | |
97 MAK_FUNC_0 (ker_ipa_dti_req, IPA_DTI_REQ), | |
98 MAK_FUNC_0 (ker_ipa_config_req, IPA_CONFIG_REQ) | |
99 }; | |
100 | |
101 /* Jumptable for the IP service access point. | |
102 * Contains the processing-function addresses and | |
103 * opcodes of request and response primitives. */ | |
104 | |
105 static const T_FUNC ip_table[] = { | |
106 MAK_FUNC_0 (ker_ip_addr_req, IP_ADDR_REQ) | |
107 }; | |
108 | |
109 /* Jumptable for the DTI service access point of the higher layer. | |
110 * Contains the processing-function addresses and | |
111 * opcodes of request and response primitives. */ | |
112 | |
113 static const T_FUNC dti_ul_table[] = { | |
114 MAK_FUNC_0 (pei_dti_dti_connect_req, DTI2_CONNECT_REQ), | |
115 MAK_FUNC_0 (pei_dti_dti_connect_res, DTI2_CONNECT_RES), | |
116 MAK_FUNC_0 (pei_dti_dti_disconnect_req, DTI2_DISCONNECT_REQ), | |
117 MAK_FUNC_0 (pei_dti_dti_getdata_req, DTI2_GETDATA_REQ), | |
118 MAK_FUNC_0 (pei_dti_dti_data_req, DTI2_DATA_REQ), | |
119 #if defined _SIMULATION_ | |
120 MAK_FUNC_S (pei_dti_dti_data_test_req, DTI2_DATA_TEST_REQ) | |
121 #endif | |
122 }; | |
123 | |
124 /* Jumptable for the DTI service access point of the lower layer. | |
125 * Contains the processing-function addresses and | |
126 * opcodes of indication and confirm primitives. */ | |
127 | |
128 static const T_FUNC dti_dl_table[] = { | |
129 MAK_FUNC_0 (pei_dti_dti_connect_ind, DTI2_CONNECT_IND), | |
130 MAK_FUNC_0 (pei_dti_dti_connect_cnf, DTI2_CONNECT_CNF), | |
131 MAK_FUNC_0 (pei_dti_dti_disconnect_ind, DTI2_DISCONNECT_IND), | |
132 MAK_FUNC_0 (pei_dti_dti_ready_ind, DTI2_READY_IND), | |
133 MAK_FUNC_0 (pei_dti_dti_data_ind, DTI2_DATA_IND), | |
134 #if defined _SIMULATION_ | |
135 MAK_FUNC_S (pei_dti_dti_data_test_ind, DTI2_DATA_TEST_IND) | |
136 #endif | |
137 }; | |
138 | |
139 /* | |
140 +--------------------------------------------------------------------+ | |
141 | PROJECT : GSM-FaD (8411) MODULE : IP_PEI | | |
142 | STATE : code ROUTINE : pei_primitive | | |
143 +--------------------------------------------------------------------+ | |
144 | |
145 PURPOSE : Process protocol specific primitive. | |
146 */ | |
147 static SHORT pei_primitive (void * ptr) | |
148 { | |
149 T_PRIM * prim = ptr; | |
150 | |
151 /* @ADAPT@ | |
152 * | | |
153 * UL UPPER LAYER | |
154 * | | |
155 * v | |
156 * +----------(ip)-----------+ | |
157 * | | | |
158 * | IP | | |
159 * | | | |
160 * +------------^------------+ | |
161 * | | |
162 * DL LOWER LAYER | |
163 * | | |
164 */ | |
165 | |
166 /* Please note that the words "D***link" and "U*link" | |
167 * should not be used here, because their meaning | |
168 * is directly opposite to what is being meant here. | |
169 * So let us pronounce "DL" as "Downlayer" and | |
170 * "UL" as "Uplayer", and the sun will shine. */ | |
171 | |
172 if (prim NEQ NULL) | |
173 { | |
174 ULONG opc = prim->custom.opc; | |
175 USHORT n; | |
176 const T_FUNC * table; | |
177 | |
178 VSI_PPM_REC (& prim->custom, __FILE__, __LINE__); | |
179 | |
180 PTRACE_IN (opc); | |
181 | |
182 ip_data = GET_INSTANCE (prim); | |
183 | |
184 switch (SAP_NR (opc)) { | |
185 case SAP_NR (IP_UL): | |
186 table = ip_table; | |
187 n = TAB_SIZE (ip_table); | |
188 break; | |
189 case SAP_NR (IPA_UL): | |
190 table = ipa_table; | |
191 n = TAB_SIZE (ipa_table); | |
192 break; | |
193 case DTI2_UL: | |
194 table = dti_ul_table; | |
195 n = TAB_SIZE (dti_ul_table); | |
196 /* To be able to distinguish DTI1/DTI2 opcodes, | |
197 * the ones for DTI2 start at 0x50. */ | |
198 opc -= 0x50; | |
199 break; | |
200 case DTI2_DL: | |
201 table = dti_dl_table; | |
202 n = TAB_SIZE (dti_dl_table); | |
203 /* To be able to distinguish DTI1/DTI2 opcodes, | |
204 * the ones for DTI2 start at 0x50. */ | |
205 opc -= 0x50; | |
206 break; | |
207 default: | |
208 table = NULL; | |
209 n = 0; | |
210 break; | |
211 } | |
212 | |
213 if (table NEQ NULL) | |
214 { | |
215 if (PRIM_NR (opc) < n) | |
216 { | |
217 table += PRIM_NR (opc); | |
218 #ifdef PALLOC_TRANSITION | |
219 P_SDU (prim) = table->soff ? | |
220 (T_sdu *) ((char *) & prim->data + table->soff) : | |
221 NULL; | |
222 #ifndef NO_COPY_ROUTING | |
223 P_LEN (prim) = table->size + sizeof (T_PRIM_HEADER); | |
224 #endif /* NO_COPY_ROUTING */ | |
225 #endif /* PALLOC_TRANSITION */ | |
226 JUMP (table->func) (P2D (prim)); | |
227 } | |
228 else | |
229 { | |
230 pei_not_supported (P2D (prim)); | |
231 } | |
232 return PEI_OK; | |
233 } | |
234 | |
235 /* Primitive is no GSM primitive | |
236 * then forward to the environment */ | |
237 | |
238 #ifdef GSM_ONLY | |
239 PFREE (P2D (prim)); | |
240 return PEI_ERROR; | |
241 #else | |
242 if (opc & SYS_MASK) | |
243 vsi_c_primitive (VSI_CALLER prim); | |
244 else | |
245 { | |
246 PFREE (P2D (prim)); | |
247 return PEI_ERROR; | |
248 } | |
249 #endif /* GSM_ONLY */ | |
250 } | |
251 return PEI_OK; | |
252 } | |
253 | |
254 /* | |
255 +--------------------------------------------------------------------+ | |
256 | PROJECT : GSM-PS (6147) MODULE : IP_PEI | | |
257 | STATE : code ROUTINE : ip_pei_primitive | | |
258 +--------------------------------------------------------------------+ | |
259 | |
260 PURPOSE : Re-use a stored primitive | |
261 */ | |
262 void ip_pei_primitive (T_PRIM * prim) | |
263 { | |
264 pei_primitive (prim); | |
265 } | |
266 | |
267 /* | |
268 +--------------------------------------------------------------------+ | |
269 | PROJECT : GSM-PS (6147) MODULE : IP_PEI | | |
270 | STATE : code ROUTINE : pei_init | | |
271 +--------------------------------------------------------------------+ | |
272 | |
273 PURPOSE : Initialize Protocol Stack Entity | |
274 */ | |
275 static SHORT pei_init (T_HANDLE handle) | |
276 { | |
277 ip_handle = handle; | |
278 | |
279 TRACE_FUNCTION ("pei_init()"); | |
280 | |
281 if ((ip_hDTI = dti_init ( | |
282 IP_INSTANCES * 2, | |
283 ip_handle, | |
284 DTI_DEFAULT_OPTIONS, | |
285 pei_sig_callback | |
286 )) EQ D_NO_DATA_BASE) | |
287 return PEI_ERROR; | |
288 | |
289 if (hCommMMI < VSI_OK) | |
290 if ((hCommMMI = vsi_c_open (VSI_CALLER ACI_NAME)) < VSI_OK) | |
291 return PEI_ERROR; | |
292 | |
293 if (hCommIP < VSI_OK) | |
294 if ((hCommIP = vsi_c_open (VSI_CALLER IP_NAME)) < VSI_OK) | |
295 return PEI_ERROR; | |
296 | |
297 ip_data = ip_data_base; | |
298 | |
299 /* Init global parameter */ | |
300 init_ip (); | |
301 | |
302 return PEI_OK; | |
303 } | |
304 | |
305 /* | |
306 +--------------------------------------------------------------------+ | |
307 | PROJECT : GSM-FaD (8411) MODULE : IP_PEI | | |
308 | STATE : code ROUTINE : pei_timeout | | |
309 +--------------------------------------------------------------------+ | |
310 | |
311 PURPOSE : Process timeout | |
312 */ | |
313 static SHORT pei_timeout (USHORT index) | |
314 { | |
315 USHORT layer; | |
316 USHORT segm_server; | |
317 USHORT timer; | |
318 | |
319 if (csf_timer_expired (index, & layer, & segm_server, & timer)) | |
320 { | |
321 switch (timer) { | |
322 case TREASSEMBLY: | |
323 tim_reassembly (/* layer, segm_server */); | |
324 return PEI_OK; | |
325 default: | |
326 break; | |
327 } | |
328 } | |
329 return PEI_ERROR; | |
330 } | |
331 | |
332 /* | |
333 +--------------------------------------------------------------------+ | |
334 | PROJECT : GSM-FaD (8411) MODULE : IP_PEI | | |
335 | STATE : code ROUTINE : pei_exit | | |
336 +--------------------------------------------------------------------+ | |
337 | |
338 PURPOSE : Close Resources and terminate | |
339 */ | |
340 static SHORT pei_exit (void) | |
341 { | |
342 UBYTE i; | |
343 | |
344 TRACE_FUNCTION ("pei_exit()"); | |
345 | |
346 /* Clean up communication */ | |
347 | |
348 vsi_c_close (VSI_CALLER hCommDL); | |
349 hCommDL = VSI_ERROR; | |
350 | |
351 for (i=0; i < MAX_LAYER; i++) | |
352 { | |
353 vsi_c_close (VSI_CALLER hCommHL); | |
354 hCommHL = VSI_ERROR; | |
355 } | |
356 | |
357 vsi_c_close (VSI_CALLER hCommMMI); | |
358 hCommMMI = VSI_ERROR; | |
359 | |
360 if (ip_hDTI NEQ D_NO_DATA_BASE) | |
361 dti_deinit (ip_hDTI); | |
362 | |
363 return PEI_OK; | |
364 } | |
365 | |
366 /* | |
367 +--------------------------------------------------------------------+ | |
368 | PROJECT : GSM-FaD (8411) MODULE : IP_PEI | | |
369 | STATE : code ROUTINE : pei_config | | |
370 +--------------------------------------------------------------------+ | |
371 | |
372 PURPOSE : Dynamic Configuration | |
373 */ | |
374 | |
375 #ifndef NCONFIG | |
376 static KW_DATA kwtab[] = { | |
377 {"", 0} | |
378 }; | |
379 | |
380 KW_DATA partab[] = { | |
381 {"", 0} | |
382 }; | |
383 #endif | |
384 | |
385 static SHORT pei_config (T_PEI_CONFIG inString) | |
386 { | |
387 #ifndef NCONFIG | |
388 char * s = inString; | |
389 char * keyw; | |
390 char * val [10]; | |
391 | |
392 TRACE_FUNCTION ("pei_config()"); | |
393 TRACE_EVENT (s); | |
394 | |
395 tok_init (s); | |
396 | |
397 /* Parse next keyword and number of variables */ | |
398 while ((tok_next(&keyw,val)) NEQ TOK_EOCS) | |
399 { | |
400 switch ((tok_key ((KW_DATA *) kwtab, keyw))) { | |
401 case TOK_NOT_FOUND: | |
402 TRACE_ERROR ("[PEI_CONFIG]: Illegal Keyword"); | |
403 break; | |
404 default: | |
405 break; | |
406 } | |
407 } | |
408 #endif | |
409 return PEI_OK; | |
410 } | |
411 | |
412 /* | |
413 +--------------------------------------------------------------------+ | |
414 | PROJECT : GSM-FaD (8411) MODULE : IP_PEI | | |
415 | STATE : code ROUTINE : ip_pei_config | | |
416 +--------------------------------------------------------------------+ | |
417 | |
418 PURPOSE : Dynamic Configuration | |
419 */ | |
420 SHORT ip_pei_config (char * inString /*, char * dummy */) | |
421 { | |
422 pei_config (inString); | |
423 return PEI_OK; | |
424 } | |
425 | |
426 /* | |
427 +--------------------------------------------------------------------+ | |
428 | PROJECT : GSM-FaD (8411) MODULE : IP_PEI | | |
429 | STATE : code ROUTINE : pei_monitor | | |
430 +--------------------------------------------------------------------+ | |
431 | |
432 PURPOSE : Monitoring of physical Parameters | |
433 */ | |
434 static SHORT pei_monitor (void ** monitor) | |
435 { | |
436 TRACE_FUNCTION ("pei_monitor()"); | |
437 | |
438 ip_mon.version = VERSION_IP; | |
439 *monitor = & ip_mon; | |
440 return PEI_OK; | |
441 } | |
442 | |
443 /* | |
444 +--------------------------------------------------------------------+ | |
445 | PROJECT : GSM-FaD (8411) MODULE : IP_PEI | | |
446 | STATE : code ROUTINE : pei_create | | |
447 +--------------------------------------------------------------------+ | |
448 | |
449 PURPOSE : Create the Protocol Stack Entity | |
450 */ | |
451 SHORT ip_pei_create (const T_PEI_INFO ** info) | |
452 { | |
453 static const T_PEI_INFO pei_info = | |
454 { | |
455 "IP", | |
456 { | |
457 pei_init, | |
458 pei_exit, | |
459 pei_primitive, | |
460 pei_timeout, | |
461 NULL, /* No signal function */ | |
462 NULL, /* No run function */ | |
463 pei_config, | |
464 pei_monitor | |
465 }, | |
466 1024, /* Stack size */ | |
467 10, /* Queue entries */ | |
468 175, /* Priority */ | |
469 MAX_IP_TIMER, /* Number of timers */ | |
470 0x03|PRIM_NO_SUSPEND /* Flags */ | |
471 }; | |
472 | |
473 TRACE_FUNCTION ("pei_create()"); | |
474 | |
475 /* Close resources if open */ | |
476 if (first_access) | |
477 first_access = FALSE; | |
478 else | |
479 pei_exit (); | |
480 | |
481 /* Export startup configuration data */ | |
482 *info = & pei_info; | |
483 | |
484 return PEI_OK; | |
485 } | |
486 | |
487 /* | |
488 +---------------------------------------------------------------------------- | |
489 | Function: pei_sig_callback | |
490 +---------------------------------------------------------------------------- | |
491 | PURPOSE: Callback function for DTILIB | |
492 +---------------------------------------------------------------------------- | |
493 */ | |
494 void pei_sig_callback ( | |
495 U8 instance, | |
496 U8 interfac, | |
497 U8 channel, | |
498 U8 reason, | |
499 T_DTI2_DATA_IND * dti_data_ind | |
500 ) { | |
501 TRACE_FUNCTION ("pei_sig_callback"); | |
502 | |
503 #ifdef _SIMULATION_ | |
504 if (instance NEQ IP_DTI_DEF_INSTANCE || channel NEQ IP_DTI_DEF_CHANNEL) | |
505 { | |
506 TRACE_ERROR ("[PEI_SIG_CALLBACK] channel or instance not valid!"); | |
507 return; /* Error, not found */ | |
508 } | |
509 #endif /* _SIMULATION_ */ | |
510 | |
511 if (ip_hDTI NEQ D_NO_DATA_BASE) | |
512 { | |
513 switch (reason) { | |
514 case DTI_REASON_CONNECTION_OPENED: | |
515 switch (interfac) { | |
516 case IP_DTI_HL_INTERFACE: | |
517 sig_dti_ker_connection_opened_hl_ind (); | |
518 break; | |
519 case IP_DTI_LL_INTERFACE: | |
520 sig_dti_ker_connection_opened_ll_ind (); | |
521 break; | |
522 default: | |
523 TRACE_ERROR ("unknown DTILIB interface parameter"); | |
524 break; | |
525 } | |
526 break; | |
527 | |
528 case DTI_REASON_CONNECTION_CLOSED: | |
529 switch (interfac) { | |
530 case IP_DTI_HL_INTERFACE: | |
531 sig_dti_ker_connection_closed_hl_ind (); | |
532 break; | |
533 case IP_DTI_LL_INTERFACE: | |
534 sig_dti_ker_connection_closed_ll_ind (); | |
535 break; | |
536 default: | |
537 TRACE_ERROR ("unknown DTILIB interface parameter"); | |
538 break; | |
539 } | |
540 break; | |
541 | |
542 case DTI_REASON_DATA_RECEIVED: | |
543 switch (interfac) { | |
544 case IP_DTI_HL_INTERFACE: | |
545 /* DTI2_DATA_IND is interpreted as DTI2_DATA_REQ */ | |
546 PACCESS (dti_data_ind); | |
547 { | |
548 PPASS (dti_data_ind, dti_data_req, DTI2_DATA_REQ); | |
549 sig_dti_ker_data_received_hl_ind (dti_data_req); | |
550 } | |
551 break; | |
552 case IP_DTI_LL_INTERFACE: | |
553 sig_dti_ker_data_received_ll_ind (dti_data_ind); | |
554 break; | |
555 default: | |
556 TRACE_ERROR ("unknown DTILIB interface parameter"); | |
557 break; | |
558 } | |
559 break; | |
560 | |
561 case DTI_REASON_TX_BUFFER_FULL: | |
562 switch (interfac) { | |
563 case IP_DTI_HL_INTERFACE: | |
564 sig_dti_ker_tx_buffer_full_hl_ind (); | |
565 break; | |
566 case IP_DTI_LL_INTERFACE: | |
567 sig_dti_ker_tx_buffer_full_ll_ind (); | |
568 break; | |
569 default: | |
570 TRACE_ERROR ("unknown DTILIB interface parameter"); | |
571 break; | |
572 } | |
573 break; | |
574 | |
575 case DTI_REASON_TX_BUFFER_READY: | |
576 switch (interfac) { | |
577 case IP_DTI_HL_INTERFACE: | |
578 sig_dti_ker_tx_buffer_ready_hl_ind (); | |
579 break; | |
580 case IP_DTI_LL_INTERFACE: | |
581 sig_dti_ker_tx_buffer_ready_ll_ind (); | |
582 break; | |
583 default: | |
584 TRACE_ERROR ("unknown DTILIB interface parameter"); | |
585 break; | |
586 } | |
587 break; | |
588 | |
589 default: | |
590 TRACE_ERROR ("unknown DTILIB reason parameter"); | |
591 break; | |
592 } /* End switch */ | |
593 } /* End if */ | |
594 else | |
595 { | |
596 TRACE_ERROR ("Pointer to DTILIB database not existing"); | |
597 } | |
598 } | |
599 | |
600 /* | |
601 +---------------------------------------------------------------------------- | |
602 | Function: pei_dti_dti_connect_req | |
603 +---------------------------------------------------------------------------- | |
604 | PURPOSE: Call the process function dti_dti_connect_req | |
605 +---------------------------------------------------------------------------- | |
606 */ | |
607 void pei_dti_dti_connect_req (T_DTI2_CONNECT_REQ * dti_connect_req) | |
608 { | |
609 dti_dti_connect_req (ip_hDTI, dti_connect_req); | |
610 } | |
611 | |
612 /* | |
613 +---------------------------------------------------------------------------- | |
614 | Function: pei_dti_dti_disconnect_ind | |
615 +---------------------------------------------------------------------------- | |
616 | PURPOSE: Call the process function dti_dti_disconnect_ind | |
617 +---------------------------------------------------------------------------- | |
618 */ | |
619 void pei_dti_dti_disconnect_ind (T_DTI2_DISCONNECT_IND * dti_disconnect_ind) | |
620 { | |
621 dti_dti_disconnect_ind (ip_hDTI, dti_disconnect_ind); | |
622 } | |
623 | |
624 /* | |
625 +---------------------------------------------------------------------------- | |
626 | Function: pei_dti_dti_connect_cnf | |
627 +---------------------------------------------------------------------------- | |
628 | PURPOSE: Call the process function ker_dti_dti_connect_cnf | |
629 +---------------------------------------------------------------------------- | |
630 */ | |
631 void pei_dti_dti_connect_cnf (T_DTI2_CONNECT_CNF * dti_connect_cnf) | |
632 { | |
633 dti_dti_connect_cnf (ip_hDTI, dti_connect_cnf); | |
634 } | |
635 | |
636 /* | |
637 +---------------------------------------------------------------------------- | |
638 | Function: pei_dti_dti_connect_ind | |
639 +---------------------------------------------------------------------------- | |
640 | PURPOSE: Call the process function dti_dti_connect_ind | |
641 +---------------------------------------------------------------------------- | |
642 */ | |
643 void pei_dti_dti_connect_ind (T_DTI2_CONNECT_IND * dti_connect_ind) | |
644 { | |
645 dti_dti_connect_ind (ip_hDTI, dti_connect_ind); | |
646 } | |
647 | |
648 /* | |
649 +---------------------------------------------------------------------------- | |
650 | Function: pei_dti_dti_connect_res | |
651 +---------------------------------------------------------------------------- | |
652 | PURPOSE: Call the process function dti_dti_connect_res | |
653 +---------------------------------------------------------------------------- | |
654 */ | |
655 void pei_dti_dti_connect_res (T_DTI2_CONNECT_RES * dti_connect_res) | |
656 { | |
657 dti_dti_connect_res (ip_hDTI, dti_connect_res); | |
658 } | |
659 | |
660 /* | |
661 +---------------------------------------------------------------------------- | |
662 | Function: pei_dti_dti_disconnect_req | |
663 +---------------------------------------------------------------------------- | |
664 | PURPOSE: Call the process function dti_dti_disconnect_req | |
665 +---------------------------------------------------------------------------- | |
666 */ | |
667 void pei_dti_dti_disconnect_req (T_DTI2_DISCONNECT_REQ * dti_disconnect_req) | |
668 { | |
669 dti_dti_disconnect_req (ip_hDTI, dti_disconnect_req); | |
670 } | |
671 | |
672 /* | |
673 +---------------------------------------------------------------------------- | |
674 | Function: pei_dti_dti_data_req | |
675 +---------------------------------------------------------------------------- | |
676 | PURPOSE: Call the process function dti_dti_data_req | |
677 +---------------------------------------------------------------------------- | |
678 */ | |
679 void pei_dti_dti_data_req (T_DTI2_DATA_REQ * dti_data_req) | |
680 { | |
681 dti_dti_data_req (ip_hDTI, dti_data_req); | |
682 } | |
683 | |
684 /* | |
685 +---------------------------------------------------------------------------- | |
686 | Function: pei_dti_dti_getdata_req | |
687 +---------------------------------------------------------------------------- | |
688 | PURPOSE: Call the process function dti_dti_data_req | |
689 +---------------------------------------------------------------------------- | |
690 */ | |
691 void pei_dti_dti_getdata_req (T_DTI2_GETDATA_REQ * dti_getdata_req) | |
692 { | |
693 dti_dti_getdata_req (ip_hDTI, dti_getdata_req); | |
694 } | |
695 | |
696 /* | |
697 +---------------------------------------------------------------------------- | |
698 | Function: pei_dti_dti_data_ind | |
699 +---------------------------------------------------------------------------- | |
700 | PURPOSE: Call the process function dti_dti_data_ind | |
701 +---------------------------------------------------------------------------- | |
702 */ | |
703 void pei_dti_dti_data_ind (T_DTI2_DATA_IND * dti_data_ind) | |
704 { | |
705 dti_dti_data_ind (ip_hDTI, dti_data_ind); | |
706 } | |
707 | |
708 /* | |
709 +---------------------------------------------------------------------------- | |
710 | Function: pei_dti_dti_ready_ind | |
711 +---------------------------------------------------------------------------- | |
712 | PURPOSE: Call the process function dti_dti_ready_ind | |
713 +---------------------------------------------------------------------------- | |
714 */ | |
715 void pei_dti_dti_ready_ind (T_DTI2_READY_IND * dti_ready_ind) | |
716 { | |
717 dti_dti_ready_ind (ip_hDTI, dti_ready_ind); | |
718 } | |
719 | |
720 #ifdef _SIMULATION_ | |
721 | |
722 /* | |
723 +---------------------------------------------------------------------------- | |
724 | Function: pei_dti_dti_data_test_req | |
725 +---------------------------------------------------------------------------- | |
726 | PURPOSE: Call the process function dti_dti_data_test_req | |
727 +---------------------------------------------------------------------------- | |
728 */ | |
729 void pei_dti_dti_data_test_req (T_DTI2_DATA_TEST_REQ * dti_data_test_req) | |
730 { | |
731 dti_dti_data_test_req (ip_hDTI, dti_data_test_req); | |
732 } | |
733 | |
734 /* | |
735 +---------------------------------------------------------------------------- | |
736 | Function: pei_dti_dti_data_test_ind | |
737 +---------------------------------------------------------------------------- | |
738 | PURPOSE: Call the process function dti_dti_data_test_ind | |
739 +---------------------------------------------------------------------------- | |
740 */ | |
741 void pei_dti_dti_data_test_ind (T_DTI2_DATA_TEST_IND * dti_data_test_ind) | |
742 { | |
743 dti_dti_data_test_ind (ip_hDTI, dti_data_test_ind); | |
744 } | |
745 | |
746 #endif /* _SIMULATION_ */ | |
747 | |
748 /*-------------------------------------------------------------------------*/ | |
749 |