FreeCalypso > hg > freecalypso-citrine
comparison g23m-aci/dti/dti_kerp.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 : DTILIB | |
4 | Modul : DTI | |
5 +----------------------------------------------------------------------------- | |
6 | Copyright 2002 Texas Instruments Berlin, AG | |
7 | All rights reserved. | |
8 | | |
9 | This file is confidential and a trade secret of Texas | |
10 | Instruments Berlin, AG | |
11 | The receipt of or possession of this file does not convey | |
12 | any rights to reproduce or disclose its contents or to | |
13 | manufacture, use, or sell anything it may describe, in | |
14 | whole, or in part, without the specific written consent of | |
15 | Texas Instruments Berlin, AG. | |
16 +----------------------------------------------------------------------------- | |
17 | Purpose : Definitions for the Protocol Stack Library | |
18 | DTI | |
19 +----------------------------------------------------------------------------- | |
20 */ | |
21 | |
22 /* | |
23 * Version 1.6 | |
24 */ | |
25 | |
26 #ifndef DTI_KERP_C | |
27 #define DTI_KERP_C | |
28 #endif | |
29 | |
30 #include "config.h" | |
31 #include "fixedconf.h" | |
32 #include "condat-features.h" | |
33 | |
34 #include <string.h> | |
35 #include "typedefs.h" | |
36 #include "pconst.cdg" | |
37 #include "vsi.h" | |
38 #include "pconst.cdg" | |
39 #include "custom.h" | |
40 #include "gsm.h" | |
41 #include "prim.h" | |
42 #include "pei.h" | |
43 #include "tok.h" | |
44 #include "ccdapi.h" | |
45 #include "dti.h" | |
46 #include "dti_int_def.h" | |
47 #include "dti_int_prot.h" | |
48 | |
49 | |
50 /*==== CONST =======================================================*/ | |
51 | |
52 /*==== TYPES =======================================================*/ | |
53 | |
54 /*==== VAR EXPORT ==================================================*/ | |
55 | |
56 /*==== VAR LOCAL ===================================================*/ | |
57 | |
58 | |
59 /*==== MACROS ======================================================*/ | |
60 | |
61 | |
62 /*==== prototypes ==================================================*/ | |
63 | |
64 /*==== FUNCTIONS ===================================================*/ | |
65 | |
66 /* | |
67 +--------------------------------------------------------------------+ | |
68 | PROJECT : DTILIB MODULE : DTI_KERP | | |
69 | STATE : code ROUTINE : dti_dti_connect_req | | |
70 +--------------------------------------------------------------------+ | |
71 | |
72 PURPOSE : Process primitive DTI_CONNECT_REQ received from neighbour DTI. | |
73 */ | |
74 | |
75 GLOBAL void dti_dti_connect_req (DTI_HANDLE hDTI, | |
76 T_DTI2_CONNECT_REQ *dti_connect_req) | |
77 { | |
78 #define VSI_CALLER hDTI->handle, | |
79 | |
80 trace_function(hDTI->handle, | |
81 "dti_dti_connect_req()", | |
82 hDTI->entity_options); | |
83 | |
84 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
85 { | |
86 PACCESS (dti_connect_req); | |
87 } | |
88 | |
89 trace_message_link_id(hDTI->handle, | |
90 " IN: DTI2_CONNECT_REQ", | |
91 dti_connect_req->link_id, | |
92 hDTI->entity_options); | |
93 | |
94 connect_init_prim_received(hDTI, | |
95 dti_connect_req->link_id, | |
96 dti_connect_req->version, | |
97 DTI_CHANNEL_TO_HIGHER_LAYER); | |
98 | |
99 PFREE (dti_connect_req); | |
100 | |
101 #undef VSI_CALLER | |
102 } /* dti_dti_connect_req() */ | |
103 | |
104 | |
105 | |
106 /* | |
107 +--------------------------------------------------------------------+ | |
108 | PROJECT : DTILIB MODULE : DTI_KERP | | |
109 | STATE : code ROUTINE : dti_dti_connect_ind | | |
110 +--------------------------------------------------------------------+ | |
111 | |
112 PURPOSE : Process primitive DTI_CONNECT_IND received from neighbour DTI | |
113 */ | |
114 | |
115 GLOBAL void dti_dti_connect_ind (DTI_HANDLE hDTI, | |
116 T_DTI2_CONNECT_IND *dti_connect_ind) | |
117 { | |
118 #define VSI_CALLER hDTI->handle, | |
119 | |
120 trace_function(hDTI->handle, | |
121 "dti_dti_connect_ind()", | |
122 hDTI->entity_options); | |
123 | |
124 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
125 { | |
126 PACCESS (dti_connect_ind); | |
127 } | |
128 | |
129 trace_message_link_id(hDTI->handle, | |
130 " IN: DTI2_CONNECT_IND", | |
131 dti_connect_ind->link_id, | |
132 hDTI->entity_options); | |
133 | |
134 connect_init_prim_received(hDTI, | |
135 dti_connect_ind->link_id, | |
136 dti_connect_ind->version, | |
137 DTI_CHANNEL_TO_LOWER_LAYER); | |
138 | |
139 PFREE(dti_connect_ind); | |
140 | |
141 #undef VSI_CALLER | |
142 } /* dti_dti_connect_ind() */ | |
143 | |
144 | |
145 | |
146 /* | |
147 +--------------------------------------------------------------------+ | |
148 | PROJECT : DTILIB MODULE : DTI_KERP | | |
149 | STATE : code ROUTINE : dti_dti_disconnect_req | | |
150 +--------------------------------------------------------------------+ | |
151 | |
152 PURPOSE : Process primitive DTI2_DISCONNECT_REQ received from neighbour DTI | |
153 */ | |
154 | |
155 GLOBAL void dti_dti_disconnect_req (DTI_HANDLE hDTI, | |
156 T_DTI2_DISCONNECT_REQ *dti_disconnect_req) | |
157 { | |
158 #define VSI_CALLER hDTI->handle, | |
159 | |
160 trace_function(hDTI->handle, | |
161 "dti_dti_disconnect_req()", | |
162 hDTI->entity_options); | |
163 | |
164 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
165 { | |
166 PACCESS (dti_disconnect_req); | |
167 } | |
168 | |
169 trace_message_link_id(hDTI->handle, | |
170 " IN: DTI2_DISCONNECT_REQ", | |
171 dti_disconnect_req->link_id, | |
172 hDTI->entity_options); | |
173 | |
174 disconnect_prim_received(hDTI, | |
175 dti_disconnect_req->link_id, | |
176 DTI_CHANNEL_TO_HIGHER_LAYER); | |
177 | |
178 PFREE (dti_disconnect_req); | |
179 | |
180 #undef VSI_CALLER | |
181 } /* dti_dti_disconnect_req() */ | |
182 | |
183 | |
184 | |
185 /* | |
186 +--------------------------------------------------------------------+ | |
187 | PROJECT : DTILIB MODULE : DTI_KERP | | |
188 | STATE : code ROUTINE : dti_dti_disconnect_ind | | |
189 +--------------------------------------------------------------------+ | |
190 | |
191 PURPOSE : Process primitive DTI_DISCONNECT_IND received from neighbour DTI | |
192 */ | |
193 | |
194 GLOBAL void dti_dti_disconnect_ind (DTI_HANDLE hDTI, | |
195 T_DTI2_DISCONNECT_IND *dti_disconnect_ind) | |
196 { | |
197 #define VSI_CALLER hDTI->handle, | |
198 | |
199 trace_function(hDTI->handle, | |
200 "dti_dti_disconnect_ind()", | |
201 hDTI->entity_options); | |
202 | |
203 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
204 { | |
205 PACCESS (dti_disconnect_ind); | |
206 } | |
207 | |
208 trace_message_link_id(hDTI->handle, | |
209 " IN: DTI2_DISCONNECT_IND", | |
210 dti_disconnect_ind->link_id, | |
211 hDTI->entity_options); | |
212 | |
213 disconnect_prim_received(hDTI, | |
214 dti_disconnect_ind->link_id, | |
215 DTI_CHANNEL_TO_LOWER_LAYER); | |
216 | |
217 PFREE (dti_disconnect_ind); | |
218 | |
219 #undef VSI_CALLER | |
220 } /* dti_dti_disconnect_ind() */ | |
221 | |
222 | |
223 | |
224 /* | |
225 +--------------------------------------------------------------------+ | |
226 | PROJECT : DTILIB MODULE : DTI_KERP | | |
227 | STATE : code ROUTINE : dti_dti_connect_cnf | | |
228 +--------------------------------------------------------------------+ | |
229 | |
230 PURPOSE : Process primitive DTI_CONNECT_CNF received from neighbour DTI | |
231 */ | |
232 | |
233 GLOBAL void dti_dti_connect_cnf (DTI_HANDLE hDTI, | |
234 T_DTI2_CONNECT_CNF *dti_connect_cnf) | |
235 { | |
236 #define VSI_CALLER hDTI->handle, | |
237 | |
238 trace_function(hDTI->handle, | |
239 "dti_dti_connect_cnf()", | |
240 hDTI->entity_options); | |
241 | |
242 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
243 { | |
244 PACCESS (dti_connect_cnf); | |
245 } | |
246 | |
247 trace_message_link_id(hDTI->handle, | |
248 " IN: DTI2_CONNECT_CNF", | |
249 dti_connect_cnf->link_id, | |
250 hDTI->entity_options); | |
251 | |
252 connect_confirm_prim_received(hDTI, | |
253 dti_connect_cnf->link_id, | |
254 dti_connect_cnf->version, | |
255 DTI_CHANNEL_TO_LOWER_LAYER); | |
256 | |
257 PFREE (dti_connect_cnf); | |
258 | |
259 #undef VSI_CALLER | |
260 } /* dti_dti_connect_cnf() */ | |
261 | |
262 | |
263 | |
264 /* | |
265 +--------------------------------------------------------------------+ | |
266 | PROJECT : DTILIB MODULE : DTI_KERP | | |
267 | STATE : code ROUTINE : dti_dti_connect_res | | |
268 +--------------------------------------------------------------------+ | |
269 | |
270 PURPOSE : Process primitive DTI_CONNECT_RES received from neighbour DTI | |
271 */ | |
272 | |
273 GLOBAL void dti_dti_connect_res (DTI_HANDLE hDTI, | |
274 T_DTI2_CONNECT_RES *dti_connect_res) | |
275 { | |
276 #define VSI_CALLER hDTI->handle, | |
277 | |
278 trace_function(hDTI->handle, | |
279 "dti_dti_connect_res()", | |
280 hDTI->entity_options); | |
281 | |
282 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
283 { | |
284 PACCESS (dti_connect_res); | |
285 } | |
286 | |
287 trace_message_link_id(hDTI->handle, | |
288 " IN: DTI2_CONNECT_RES", | |
289 dti_connect_res->link_id, | |
290 hDTI->entity_options); | |
291 | |
292 connect_confirm_prim_received(hDTI, | |
293 dti_connect_res->link_id, | |
294 dti_connect_res->version, | |
295 DTI_CHANNEL_TO_HIGHER_LAYER); | |
296 | |
297 PFREE (dti_connect_res); | |
298 | |
299 #undef VSI_CALLER | |
300 } /* dti_dti_connect_res() */ | |
301 | |
302 | |
303 | |
304 /* | |
305 +--------------------------------------------------------------------+ | |
306 | PROJECT : DTILIB MODULE : DTI_KERP | | |
307 | STATE : code ROUTINE : dti_dti_data_req | | |
308 +--------------------------------------------------------------------+ | |
309 | |
310 PURPOSE : Process primitive DTI_DATA_REQ received from neighbour DTI | |
311 */ | |
312 | |
313 GLOBAL void dti_dti_data_req (DTI_HANDLE hDTI, | |
314 T_DTI2_DATA_REQ *dti_data_req) | |
315 { | |
316 #define VSI_CALLER hDTI->handle, | |
317 | |
318 trace_function(hDTI->handle, | |
319 "dti_dti_data_req()", | |
320 hDTI->entity_options); | |
321 | |
322 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
323 { | |
324 PACCESS (dti_data_req); | |
325 } | |
326 | |
327 trace_message_l_dl(hDTI->handle, | |
328 " IN: DTI2_DATA_REQ", | |
329 dti_data_req->link_id, | |
330 dti_data_req->desc_list2.list_len, | |
331 hDTI->entity_options); | |
332 | |
333 if(hDTI->entity_options & DTI_NO_TRACE) | |
334 { | |
335 PPASS_NTRACE(dti_data_req, dti_data_ind, DTI2_DATA_IND); | |
336 data_prim_received (hDTI, dti_data_ind, DTI_CHANNEL_TO_HIGHER_LAYER); | |
337 } | |
338 else | |
339 { | |
340 PPASS(dti_data_req, dti_data_ind, DTI2_DATA_IND); | |
341 data_prim_received (hDTI, dti_data_ind, DTI_CHANNEL_TO_HIGHER_LAYER); | |
342 } | |
343 | |
344 #undef VSI_CALLER | |
345 } /* dti_dti_data_req() */ | |
346 | |
347 | |
348 | |
349 /* | |
350 +--------------------------------------------------------------------+ | |
351 | PROJECT : DTILIB MODULE : DTI_KERP | | |
352 | STATE : code ROUTINE : dti_dti_data_ind | | |
353 +--------------------------------------------------------------------+ | |
354 | |
355 PURPOSE : Process primitive DTI_DATA_IND received from neighbour DTI | |
356 */ | |
357 | |
358 GLOBAL void dti_dti_data_ind (DTI_HANDLE hDTI, | |
359 T_DTI2_DATA_IND *dti_data_ind) | |
360 { | |
361 #define VSI_CALLER hDTI->handle, | |
362 | |
363 trace_function(hDTI->handle, | |
364 "dti_dti_data_ind()", | |
365 hDTI->entity_options); | |
366 | |
367 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
368 { | |
369 PACCESS (dti_data_ind); | |
370 } | |
371 | |
372 trace_message_l_dl(hDTI->handle, | |
373 " IN: DTI2_DATA_IND", | |
374 dti_data_ind->link_id, | |
375 dti_data_ind->desc_list2.list_len, | |
376 hDTI->entity_options); | |
377 | |
378 data_prim_received (hDTI, dti_data_ind, DTI_CHANNEL_TO_LOWER_LAYER); | |
379 | |
380 #undef VSI_CALLER | |
381 } /* dti_dti_data_ind() */ | |
382 | |
383 | |
384 | |
385 /* | |
386 +--------------------------------------------------------------------+ | |
387 | PROJECT : DTILIB MODULE : DTI_KERP | | |
388 | STATE : code ROUTINE : dti_dti_getdata_req | | |
389 +--------------------------------------------------------------------+ | |
390 | |
391 PURPOSE : Process primitive DTI_GETDATA_REQ received from neighbour DTI | |
392 */ | |
393 | |
394 GLOBAL void dti_dti_getdata_req (DTI_HANDLE hDTI, | |
395 T_DTI2_GETDATA_REQ *dti_getdata_req) | |
396 { | |
397 #define VSI_CALLER hDTI->handle, | |
398 | |
399 trace_function(hDTI->handle, | |
400 "dti_dti_getdata_req()", | |
401 hDTI->entity_options); | |
402 | |
403 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
404 { | |
405 PACCESS (dti_getdata_req); | |
406 } | |
407 | |
408 trace_message_link_id(hDTI->handle, | |
409 " IN: DTI2_GETDATA_REQ", | |
410 dti_getdata_req->link_id, | |
411 hDTI->entity_options); | |
412 | |
413 flow_control_prim_received(hDTI, | |
414 dti_getdata_req->link_id, | |
415 DTI_CHANNEL_TO_HIGHER_LAYER); | |
416 | |
417 PFREE (dti_getdata_req); | |
418 | |
419 #undef VSI_CALLER | |
420 } /* dti_dti_getdata_req() */ | |
421 | |
422 | |
423 | |
424 /* | |
425 +--------------------------------------------------------------------+ | |
426 | PROJECT : DTILIB MODULE : DTI_KERP | | |
427 | STATE : code ROUTINE : dti_dti_ready_ind | | |
428 +--------------------------------------------------------------------+ | |
429 | |
430 PURPOSE : Process primitive DTI_READY_IND received from neighbour DTI | |
431 */ | |
432 | |
433 GLOBAL void dti_dti_ready_ind (DTI_HANDLE hDTI, | |
434 T_DTI2_READY_IND *dti_ready_ind) | |
435 { | |
436 #define VSI_CALLER hDTI->handle, | |
437 | |
438 trace_function(hDTI->handle, | |
439 "dti_dti_ready_ind()", | |
440 hDTI->entity_options); | |
441 | |
442 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
443 { | |
444 PACCESS (dti_ready_ind); | |
445 } | |
446 | |
447 trace_message_link_id(hDTI->handle, | |
448 " IN: DTI2_READY_IND", | |
449 dti_ready_ind->link_id, | |
450 hDTI->entity_options); | |
451 | |
452 flow_control_prim_received(hDTI, | |
453 dti_ready_ind->link_id, | |
454 DTI_CHANNEL_TO_LOWER_LAYER); | |
455 | |
456 PFREE (dti_ready_ind); | |
457 | |
458 #undef VSI_CALLER | |
459 } /* dti_dti_ready_ind() */ | |
460 | |
461 | |
462 #ifdef _SIMULATION_ | |
463 | |
464 /* | |
465 +--------------------------------------------------------------------+ | |
466 | PROJECT : WAP MODULE : ip_kerp.c | | |
467 | STATE : code ROUTINE : ker_dti_data_test_ind| | |
468 +--------------------------------------------------------------------+ | |
469 | |
470 PURPOSE : Process primitive T_DTI2_DATA_TEST_IND | |
471 */ | |
472 | |
473 GLOBAL void dti_dti_data_test_ind (DTI_HANDLE hDTI, | |
474 T_DTI2_DATA_TEST_IND *dti_data_test_ind) | |
475 { | |
476 #define VSI_CALLER hDTI->handle, | |
477 | |
478 trace_function(hDTI->handle, | |
479 "dti_dti_data_test_ind()", | |
480 hDTI->entity_options); | |
481 | |
482 if( !(hDTI->entity_options & DTI_NO_TRACE) ) | |
483 { | |
484 PACCESS (dti_data_test_ind); | |
485 } | |
486 | |
487 trace_message_l_dl(hDTI->handle, | |
488 " IN: DTI2_DATA_TEST_IND", | |
489 dti_data_test_ind->link_id, | |
490 (U16)(dti_data_test_ind->sdu.l_buf>>3), | |
491 hDTI->entity_options); | |
492 | |
493 data_test_prim_received(hDTI, | |
494 dti_data_test_ind, | |
495 DTI_CHANNEL_TO_LOWER_LAYER); | |
496 | |
497 #undef VSI_CALLER | |
498 } /* dti_dti_data_test_ind() */ | |
499 | |
500 | |
501 | |
502 /* | |
503 +--------------------------------------------------------------------+ | |
504 | PROJECT : WAP MODULE : ip_kerp.c | | |
505 | STATE : code ROUTINE : ker_dti_data_test_req| | |
506 +--------------------------------------------------------------------+ | |
507 | |
508 PURPOSE : Process primitive T_DTI2_DATA_TEST_REQ | |
509 */ | |
510 | |
511 GLOBAL void dti_dti_data_test_req (DTI_HANDLE hDTI, | |
512 T_DTI2_DATA_TEST_REQ *dti_data_test_req) | |
513 { | |
514 #define VSI_CALLER hDTI->handle, | |
515 | |
516 trace_function(hDTI->handle, | |
517 "dti_dti_data_test_req()", | |
518 hDTI->entity_options); | |
519 | |
520 trace_message_l_dl(hDTI->handle, | |
521 " IN: DTI2_DATA_TEST_IND", | |
522 dti_data_test_req->link_id, | |
523 (U16)(dti_data_test_req->sdu.l_buf>>3), | |
524 hDTI->entity_options); | |
525 | |
526 if(hDTI->entity_options & DTI_NO_TRACE) | |
527 { | |
528 PPASS_NTRACE(dti_data_test_req, dti_data_test_ind, DTI2_DATA_TEST_IND); | |
529 data_test_prim_received(hDTI, | |
530 dti_data_test_ind, | |
531 DTI_CHANNEL_TO_HIGHER_LAYER); | |
532 } | |
533 else | |
534 { | |
535 PACCESS (dti_data_test_req); | |
536 { | |
537 PPASS(dti_data_test_req, dti_data_test_ind, DTI2_DATA_TEST_IND); | |
538 data_test_prim_received(hDTI, | |
539 dti_data_test_ind, | |
540 DTI_CHANNEL_TO_HIGHER_LAYER); | |
541 } | |
542 } | |
543 | |
544 #undef VSI_CALLER | |
545 } /* dti_dti_data_test_req() */ | |
546 | |
547 #endif /*_SIMULATION_ */ |