FreeCalypso > hg > fc-magnetite
comparison src/condat2/com/include/gsm.h @ 3:93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 26 Sep 2016 00:29:36 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2:c41a534f33c6 | 3:93999a60b835 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : GSM-PS (6147) | |
4 | Modul : GSM | |
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 : Definition of global constants, types, and macros | |
18 | for the GSM Protocol Stack | |
19 +----------------------------------------------------------------------------- | |
20 */ | |
21 | |
22 #ifndef GSM_H | |
23 #define GSM_H | |
24 | |
25 #ifndef CCONST_CDG | |
26 #include "mconst.cdg" /* MAX_BITSTREAM_LEN */ | |
27 #endif /* CCONST_CDG */ | |
28 #ifndef PCONST_CDG | |
29 #include "pconst.cdg" /* MAX_PSTRUCT_LEN */ | |
30 #endif /* PCONST_CDG */ | |
31 | |
32 /*==== CONSTANTS ==================================================*/ | |
33 | |
34 #define MAX_2_PRM 1 | |
35 #define MAX_4_PRM 3 | |
36 #define MAX_8_PRM 7 | |
37 #define MAX_16_PRM 15 | |
38 #define MAX_32_PRM 31 | |
39 | |
40 #define PRM_MASK 0x00FF /* protocol primitive mask*/ | |
41 #define OPC_MASK 0xFF00 /* entity mask */ | |
42 #define SYS_MASK 0x8000 /* system primitive mask */ | |
43 | |
44 #define SYS_CONFIG_REQ 0xF000 | |
45 | |
46 #define L3_CODING_OFFSET 32 /* coding offset in bits */ | |
47 | |
48 /* | |
49 * Not Present Value | |
50 */ | |
51 | |
52 #define NOT_PRESENT_8BIT 0xFF | |
53 #define NOT_PRESENT_CHAR (CHAR)0xFF | |
54 #define NOT_PRESENT_16BIT 0xFFFF | |
55 #define NOT_PRESENT_32BIT 0xFFFFFFFFL | |
56 #define INVALID_ADDRESS 0xFFFFFFFFL | |
57 #define SET_NOT_PRESENT(A) (A) = (sizeof ((A)) EQ 1)\ | |
58 ? NOT_PRESENT_8BIT\ | |
59 : (sizeof ((A)) EQ 2)\ | |
60 ? NOT_PRESENT_16BIT\ | |
61 : NOT_PRESENT_32BIT | |
62 | |
63 #define IS_PRESENT(A) ((A) NEQ ((sizeof ((A)) EQ 1)\ | |
64 ? NOT_PRESENT_8BIT\ | |
65 : (sizeof ((A)) EQ 2)\ | |
66 ? NOT_PRESENT_16BIT\ | |
67 : NOT_PRESENT_32BIT)) /* VK 09-12-96 */ | |
68 | |
69 #ifndef NEW_FRAME | |
70 /* | |
71 * Static Configurations | |
72 */ | |
73 | |
74 #ifndef TC_FUNC | |
75 #define TC_FUNC 1 | |
76 #endif | |
77 | |
78 #ifdef TRACE_FKT | |
79 #define TRACE_FUNCTION(a) vsi_o_trace(VSI_CALLER TC_FUNC,a); | |
80 #else | |
81 // China change HM 6.07.00, one of this commented out | |
82 #define TRACE_FUNCTION(a) | |
83 //#define TRACE_FUNCTION(a) vsi_o_mtrace(a); | |
84 #endif | |
85 | |
86 #ifndef TC_EVE | |
87 #define TC_EVE 2 | |
88 #endif | |
89 | |
90 #ifdef TRACE_EVE | |
91 #define TRACE_EVENT(a) vsi_o_trace(VSI_CALLER TC_EVENT,a); | |
92 #else | |
93 #define TRACE_EVENT(a) | |
94 #endif | |
95 | |
96 #ifndef TC_ERROR | |
97 #define TC_ERROR 4 | |
98 #endif | |
99 #ifdef TRACE_ERR | |
100 #define TRACE_ERROR(a) vsi_o_trace(VSI_CALLER TC_ERROR,a); | |
101 #else | |
102 #define TRACE_ERROR(a) | |
103 #endif | |
104 | |
105 #ifndef TC_PRIM | |
106 #define TC_PRIM 8 | |
107 #endif | |
108 | |
109 #ifdef TRACE_PRIM | |
110 #define TRACE_PRIMITIVE(a) vsi_o_trace(VSI_CALLER TC_PRIM,a); | |
111 #else | |
112 #define TRACE_PRIMITIVE(a) | |
113 #endif | |
114 | |
115 #ifndef TC_SYSTEM | |
116 #define TC_SYSTEM 16 | |
117 #endif | |
118 | |
119 /* | |
120 * Assert wrapper | |
121 */ | |
122 | |
123 #if defined NDEBUG | |
124 #define TRACE_ASSERT(e) ((void)0) | |
125 #else | |
126 #ifdef SHARED_VSI | |
127 #define TRACE_ASSERT(e) if ( !(e) ) vsi_o_assert("",#e,__FILE__,__LINE__) | |
128 #else | |
129 #define TRACE_ASSERT(e) if ( !(e) ) vsi_o_assert(#e,__FILE__,__LINE__) | |
130 #endif | |
131 #endif | |
132 | |
133 #ifdef assert | |
134 #undef assert | |
135 #endif | |
136 #define assert TRACE_ASSERT | |
137 | |
138 #endif /* NEW_FRAME */ | |
139 | |
140 /* | |
141 * Memory Management(I) | |
142 */ | |
143 | |
144 #ifdef OPTION_REF | |
145 #define FREE_BUFFER(p) vsi_c_free(VSI_CALLER (void **)&p) | |
146 #define NEW_BUFFER(p,s) T_PRIM *p = vsi_c_new(VSI_CALLER (T_VSI_CSIZE)((s)+sizeof(T_PRIM_HEADER))) | |
147 #else | |
148 #define FREE_BUFFER(p) | |
149 #define NEW_BUFFER(p,s) UBYTE buf_##p [(s)+sizeof(T_PRIM_HEADER)]; T_PRIM *p=(T_PRIM*)p1 | |
150 #endif | |
151 | |
152 #if !defined (_TMS470) | |
153 #define Sprintf sprintf | |
154 #else | |
155 int sprintf( char *buffer, const char *format, ... ); | |
156 #endif | |
157 | |
158 #ifndef NEW_FRAME | |
159 | |
160 #ifdef _TMS470 | |
161 #define SET_PRIM_OPCODE(P,O) P->custom.opc = O; P->custom.opc2 = 0 | |
162 #else | |
163 #define SET_PRIM_OPCODE(P,O) P->custom.opc = O | |
164 #endif | |
165 | |
166 #ifdef OPTION_LENGTH | |
167 #define SEND_PRIM(E,P,O,T) SET_PRIM_OPCODE (P,O); vsi_c_send (VSI_CALLER hComm##E, P, sizeof(T_PRIM_HEADER) + sizeof (T)) | |
168 #define SEND_PRIM_0(E,P,O) SET_PRIM_OPCODE (P,O); vsi_c_send (VSI_CALLER hComm##E, P, sizeof(T_PRIM_HEADER)) | |
169 #define SEND_PRIM_SDU(E,P,O,T,L) SET_PRIM_OPCODE (P,O); vsi_c_send (VSI_CALLER hComm##E, P, (T_VSI_CSIZE) (sizeof(T_PRIM_HEADER) + sizeof (T) + (L) - SDU_TRAIL)) | |
170 #else | |
171 #define SEND_PRIM(E,P,O,T) SET_PRIM_OPCODE (P,O); vsi_c_send (VSI_CALLER hComm##E, P, sizeof(T_PRIM_HEADER) + sizeof (T)) | |
172 #define SEND_PRIM_0(E,P,O) SET_PRIM_OPCODE (P,O); vsi_c_send (VSI_CALLER hComm##E, P, sizeof(T_PRIM_HEADER)) | |
173 #define SEND_PRIM_SDU(E,P,O,T,L) SET_PRIM_OPCODE (P,O); vsi_c_send (VSI_CALLER hComm##E, P, (T_VSI_CSIZE) (sizeof(T_PRIM_HEADER) + sizeof (T) + (L) - SDU_TRAIL)) | |
174 #endif | |
175 | |
176 #endif /* NEW_FRAME */ | |
177 /* | |
178 * declares a pointer variable (D) of the type T | |
179 * and initialize it with the startaddress of the data part | |
180 * of the primitive P | |
181 */ | |
182 #ifndef ALLOC_CHECK | |
183 #if defined (_TMS470) AND defined (NWARN) | |
184 #define PRIM_ACCESS(P,S) &P->data | |
185 #else | |
186 #define PRIM_ACCESS(P,S) P->data | |
187 #endif | |
188 #else | |
189 #define PRIM_ACCESS(P,S) vsi_c_access(VSI_CALLER P,S) | |
190 #endif | |
191 | |
192 #define PRIM_CAST(P,D,T) T *D = (T *) PRIM_ACCESS (P, sizeof (T)) | |
193 | |
194 /* | |
195 * declares a pointer variable (D) of the type T and | |
196 * initialize it with the start address of the global declared | |
197 * buffer _decodedMsg[] wich contains the decoded message | |
198 * structure before encoding or after decoding the message | |
199 * with CCD. | |
200 */ | |
201 | |
202 #define MSG_CAST(D,T) T *D = (T *) _decodedMsg | |
203 /* | |
204 * Memory Management(II) | |
205 */ | |
206 | |
207 #ifndef NEW_FRAME | |
208 | |
209 #if defined (_TMS470) AND defined (NWARN) | |
210 #define P2D(P) (&(P)->data) | |
211 #else | |
212 #define P2D(P) ((P)->data) | |
213 #endif | |
214 #define D2P(D) ((T_PRIM*)((T_PRIM_HEADER*)(D)-1)) | |
215 | |
216 #ifdef ALLOC_CHECK | |
217 #define P2D_AC(P,T) PRIM_ACCESS(P,sizeof(T)) | |
218 #else | |
219 #define P2D_AC(P,T) P2D(P) | |
220 #endif | |
221 | |
222 #define PRIM_TO_DATA P2D | |
223 #define DATA_TO_PRIM D2P | |
224 | |
225 #define P_OPC(P) (P)->custom.opc | |
226 #define P_OPC2(P) (P)->custom.opc2 | |
227 #define P_LEN(P) (P)->custom.len | |
228 #define P_TID(P) (P)->custom.tid | |
229 #define P_SDU(P) (P)->custom.sdu | |
230 | |
231 #define D_OPC(D) P_OPC(D2P(D)) | |
232 #define D_OPC2(D) P_OPC2(D2P(D)) | |
233 #define D_LEN(D) P_LEN(D2P(D)) | |
234 #define D_TID(D) P_TID(D2P(D)) | |
235 #define D_SDU(D) P_SDU(D2P(D)) | |
236 | |
237 #define D_SDU_LEN(D) D_SDU(D)->l_buf | |
238 #define D_SDU_OFF(D) D_SDU(D)->o_buf | |
239 | |
240 #define BITS_PER_BYTE 8 | |
241 #define BYTELEN(BITLEN) ((BITLEN)<=0?0:((((BITLEN)-1)/BITS_PER_BYTE)+1)) | |
242 | |
243 #define PRIM_SIZE(D) (sizeof(T_PRIM_HEADER)+sizeof(*(D))) | |
244 #define PRIM_SIZE_SDU(D) (PRIM_SIZE(D)+BYTELEN((D)->sdu.o_buf+(D)->sdu.l_buf)) | |
245 | |
246 #define PSIZE(D) (D_LEN(D)+((D_SDU(D)==0)?0:(BYTELEN(D_SDU_LEN(D)+D_SDU_OFF(D))-SDU_TRAIL))) | |
247 | |
248 #define SIZ(T) (sizeof(T_PRIM_HEADER)+sizeof(T)) | |
249 | |
250 #define SIZ_SDU(T,M) (SIZ(T)+BYTELEN((M)+ENCODE_OFFSET)-SDU_TRAIL) | |
251 | |
252 #define P_ALL(T) (T_PRIM *) vsi_c_new(VSI_CALLER (T_VSI_CSIZE)SIZ(T) ) | |
253 #define P_ALL_SDU(T,M) (T_PRIM *) vsi_c_new(VSI_CALLER (T_VSI_CSIZE)SIZ_SDU(T,M)) | |
254 | |
255 #endif /* NEW_FRAME */ | |
256 | |
257 #define OFFSETOF(P,C) ((char*)&(P->C) - (char*)P) | |
258 | |
259 #ifdef NTRACE | |
260 #define xxxNotify(A,B,C,D,E) | |
261 #else | |
262 #define xxxNotify(A,B,C,D,E) /* not used yet */ | |
263 #endif | |
264 | |
265 | |
266 #define ACT_PALLOC 0x01 | |
267 #define ACT_PALLOC_SDU 0x02 | |
268 #define ACT_PALLOC_MSG 0x03 | |
269 #define ACT_PREUSE 0x04 | |
270 #define ACT_PREUSE_SDU 0x05 | |
271 #define ACT_PREUSE_MSG 0x06 | |
272 #define ACT_PFREE 0x07 | |
273 #define ACT_PSEND 0x08 | |
274 #define ACT_PSTORE 0x09 | |
275 #define ACT_PRETRIEVE 0x0A | |
276 #define ACT_PACCESS 0x0B | |
277 #define ACT_PPASS 0x0C | |
278 #define ACT_PCAST 0x0D | |
279 | |
280 /*** memory alloction ***/ | |
281 | |
282 | |
283 #ifndef NEW_FRAME | |
284 | |
285 #define PSENDX PSEND | |
286 | |
287 #define PALLOC(D,T) T_##T *D = (T_##T*)P2D(P_ALL(T_##T));\ | |
288 D_OPC(D) = (T);\ | |
289 D_OPC2(D) = 0;\ | |
290 D_LEN(D) = SIZ(T_##T);\ | |
291 D_SDU(D) = 0;\ | |
292 xxxNotify(ACT_PALLOC,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
293 | |
294 #define PALLOC_MSG(D,T,M) T_##T *D = (T_##T*)P2D(P_ALL_SDU(T_##T,BSIZE_##M));\ | |
295 D_OPC(D) = (T);\ | |
296 D_OPC2(D) = 0;\ | |
297 D_LEN(D) = SIZ(T_##T);\ | |
298 D_SDU(D) = &((D)->sdu);\ | |
299 D_SDU_LEN(D) = (BSIZE_##M);\ | |
300 D_SDU_OFF(D) = ENCODE_OFFSET;\ | |
301 xxxNotify(ACT_PALLOC_MSG,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
302 | |
303 #define PALLOC_SDU(D,T,N) T_##T *D = (T_##T*)P2D(P_ALL_SDU(T_##T,N));\ | |
304 D_OPC(D) = (T);\ | |
305 D_OPC2(D) = 0;\ | |
306 D_LEN(D) = SIZ(T_##T);\ | |
307 D_SDU(D) = &((D)->sdu);\ | |
308 D_SDU_LEN(D) = (N);\ | |
309 D_SDU_OFF(D) = ENCODE_OFFSET;\ | |
310 xxxNotify(ACT_PALLOC_SDU,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
311 | |
312 #define PREUSE(D0,D,T) T_##T *D = (T_##T*)P2D_AC(D2P(D0),T);\ | |
313 D_OPC(D) = (T);\ | |
314 D_OPC2(D) = 0;\ | |
315 D_LEN(D) = SIZ(T_##T);\ | |
316 D_SDU(D) = 0;\ | |
317 xxxNotify(ACT_REUSE,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
318 | |
319 #define PREUSE_MSG(D,T,M) T_##T *D = (T_##T*)P2D_AC(D2P(D0),T);\ | |
320 D_OPC(D) = (T);\ | |
321 D_OPC2(D) = 0;\ | |
322 D_LEN(D) = SIZ(T_##T);\ | |
323 D_SDU(D) = &((D)->sdu);\ | |
324 D_SDU_LEN(D) = (BSIZE_##M);\ | |
325 D_SDU_OFF(D) = ENCODE_OFFSET;\ | |
326 xxxNotify(ACT_PREUSE_MSG,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
327 | |
328 #define PREUSE_SDU(D,T,N) T_##T *D = (T_##T*)P2D_AC(D2P(D0),T);\ | |
329 USHORT BSIZE_##N;\ | |
330 D_OPC(D) = (T);\ | |
331 D_OPC2(D) = 0;\ | |
332 D_LEN(D) = SIZ(T_##T);\ | |
333 D_SDU(D) = &((D)->sdu);\ | |
334 D_SDU_LEN(D) = (N);\ | |
335 D_SDU_OFF(D) = ENCODE_OFFSET;\ | |
336 xxxNotify(ACT_PREUSE_SDU,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
337 | |
338 #define PFREE(D) { void *z=(void*)D2P(D);\ | |
339 vsi_c_free(VSI_CALLER (void **)&z);\ | |
340 xxxNotify(ACT_PFREE,VSI_CALLER,__FILE__,__LINE__,D2P(D)); } | |
341 | |
342 #define PSEND(E,D) PTRACE_OUT(D_OPC(D));\ | |
343 vsi_c_send (VSI_CALLER hComm##E, D2P(D), (T_VSI_CSIZE) PSIZE(D));\ | |
344 xxxNotify(ACT_PSEND,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
345 | |
346 #define PPASS(D0,D,T) T_##T *D = (T_##T*)P2D_AC(D2P(D0),T);\ | |
347 D_OPC(D) = (T);\ | |
348 xxxNotify(ACT_PPASS,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
349 | |
350 #define PACCESS(D) xxxNotify(ACT_PACCESS,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
351 | |
352 | |
353 #endif /* NEW_FRAME */ | |
354 | |
355 /* | |
356 * to achieve backward compatibility | |
357 */ | |
358 #if defined (NEW_FRAME) | |
359 #define PSENDX(A,B) PSEND(hComm##A,B) | |
360 #else | |
361 #define PSENDX PSEND | |
362 #endif | |
363 | |
364 | |
365 #define PRETRIEVE /* NOT DEFINED YET */ | |
366 | |
367 | |
368 #define MCAST(D,T) MSG_CAST(D,T_##T) | |
369 #define PCAST(P,D,T) T_##T *D = (T_##T*)P2D_AC(P,T);\ | |
370 P_OPC(P)=T;\ | |
371 xxxNotify(ACT_PCAST,VSI_CALLER,__FILE__,__LINE__,D2P(D)) | |
372 | |
373 #define PCOPY(DEST,SOURCE) memcpy(DEST,SOURCE,PSIZE(SOURCE)-sizeof(T_PRIM_HEADER)) | |
374 | |
375 /*** trace primitive, trace state ***/ | |
376 | |
377 #ifndef NEW_FRAME | |
378 | |
379 #ifdef NTRACE | |
380 | |
381 #define SET_STATE(PROCESS,STATE) ENTITY_DATA->state[PROCESS] = STATE | |
382 #define GET_STATE(PROCESS) ENTITY_DATA->state[PROCESS] | |
383 | |
384 #define PTRACE_IN(OPC) | |
385 #define PTRACE_OUT(OPC) | |
386 | |
387 #else | |
388 | |
389 #define SET_STATE(PROCESS,STATE)\ | |
390 ENTITY_DATA->state[PROCESS] =\ | |
391 vsi_o_strace (VSI_CALLER\ | |
392 PROCESS_NAME[PROCESS],\ | |
393 PROCESS##_NAME [ ENTITY_DATA->state[PROCESS] ],\ | |
394 PROCESS##_NAME [ STATE ],\ | |
395 STATE ) | |
396 | |
397 #define GET_STATE(PROCESS)\ | |
398 vsi_o_strace (VSI_CALLER\ | |
399 PROCESS_NAME[PROCESS],\ | |
400 PROCESS##_NAME [ ENTITY_DATA->state[PROCESS] ],\ | |
401 NULL ,\ | |
402 ENTITY_DATA->state[PROCESS] ) | |
403 | |
404 #define PTRACE_IN(OPC) vsi_o_ptrace (VSI_CALLER OPC, 0) | |
405 #define PTRACE_OUT(OPC) vsi_o_ptrace (VSI_CALLER OPC, 1) | |
406 | |
407 #endif | |
408 | |
409 #endif /* NEW_FRAME */ | |
410 /* | |
411 * Timer, Jump Table, Configuration | |
412 */ | |
413 | |
414 #ifdef OPTION_TIMER | |
415 #define TSTART(i,h,v) tim_start_timer(i,h,v) | |
416 #else | |
417 #define TSTART(i,h,v) vsi_t_start(VSI_CALLER h,v) | |
418 #endif | |
419 | |
420 #ifdef OPTION_RELATIVE | |
421 #define JUMP(a) (a+offset) | |
422 #else | |
423 #define JUMP(a) (a) | |
424 #endif | |
425 | |
426 #ifdef OPTION_SET_CONFIG_ONLY | |
427 #define GET_CONFIG(s,i) | |
428 #else | |
429 #define GET_CONFIG(s,i) pei_get_config(s,i) | |
430 #endif | |
431 | |
432 /* Cause Concept (begin) */ | |
433 /* | |
434 * For a definition of the cause concept please refer to document number | |
435 * 8443.711, named in February 2002 "cause_concept.doc" | |
436 */ | |
437 | |
438 /* definitions for calling the macros */ | |
439 /* DefinedBy bit */ | |
440 #define DEFBY_STD 0 | |
441 #define DEFBY_CONDAT 1 | |
442 /* OriginatingSide bit */ | |
443 #define ORIGSIDE_NET 0 | |
444 #define ORIGSIDE_MS 1 | |
445 /* | |
446 * note that OriginatingEntity definitions are in the SAP GSMCOM, which is a | |
447 * central (pseudo) SAP and the definitions are referenced in the using | |
448 * "real" SAPs, like e.g. MNSS SAP for the originating entity SS | |
449 */ | |
450 | |
451 /* need to decide whether to mask ORIGIN_ENTITY (max. 6 bits) in the following macro */ | |
452 #define CAUSE_MAKE(DEFINED_BY, ORIGIN_SIDE, ORIGIN_ENTITY, CAUSE_VALUE) \ | |
453 (USHORT)(((CAUSE_VALUE) & 0x00FF) |\ | |
454 ((DEFINED_BY) << 15) |\ | |
455 ((ORIGIN_SIDE) << 14) |\ | |
456 ((ORIGIN_ENTITY) << 8)) | |
457 | |
458 /* Get the cause value without the originating entity */ | |
459 #define GET_CAUSE_VALUE(cause) (UBYTE)((cause) & 0xFF) | |
460 | |
461 /* Get the entity originating the cause */ | |
462 #define GET_CAUSE_ORIGIN_ENTITY(cause) (UBYTE)(((cause) >> 8) & 0x3F) | |
463 | |
464 /* Get the DefinedBy bit */ | |
465 #define GET_CAUSE_DEFBY(cause) (UBYTE)((cause) >> 15) | |
466 | |
467 /* Get the OriginatingSide bit */ | |
468 #define GET_CAUSE_ORIGSIDE(cause) (UBYTE)(((cause) >> 14) & 0x01) | |
469 | |
470 /* Determine if a cause is invalid */ | |
471 #define IS_CAUSE_INVALID(cause) (((cause) & 0x80FF) EQ 0x80FF) | |
472 | |
473 /* Cause Concept (end) */ | |
474 | |
475 | |
476 /*==== TYPES ======================================================*/ | |
477 #if defined (_TMS470) && defined (NWARN) | |
478 typedef struct | |
479 { | |
480 UBYTE x [MAX_PSTRUCT_LEN | |
481 + ( | |
482 L3_CODING_OFFSET | |
483 + MAX_BITSTREAM_LEN | |
484 ) / 8 + 1 | |
485 ]; | |
486 } T_PARAMETER; | |
487 | |
488 typedef struct | |
489 { | |
490 T_PRIM_HEADER custom; | |
491 T_PARAMETER data; | |
492 } T_PRIM; | |
493 #else | |
494 typedef struct | |
495 { | |
496 T_PRIM_HEADER custom; | |
497 UBYTE data [MAX_PSTRUCT_LEN | |
498 + ( | |
499 L3_CODING_OFFSET | |
500 + MAX_BITSTREAM_LEN | |
501 ) / 8 + 1 | |
502 ]; | |
503 } T_PRIM; | |
504 #endif | |
505 | |
506 /*==== EXPORT =====================================================*/ | |
507 | |
508 | |
509 | |
510 /* | |
511 * Multithreading | |
512 */ | |
513 | |
514 | |
515 | |
516 #ifdef OPTION_MULTITHREAD | |
517 #if defined (ENTITY_CST) | |
518 #define _ENTITY_PREFIXED(N) cst_##N | |
519 #elif defined (ENTITY_ACI) | |
520 #define _ENTITY_PREFIXED(N) aci_##N | |
521 #elif defined (ENTITY_MFW) | |
522 #define _ENTITY_PREFIXED(N) aci_##N | |
523 #elif defined (ENTITY_MMI) | |
524 #define _ENTITY_PREFIXED(N) aci_##N | |
525 #elif defined (ENTITY_SMI) | |
526 #define _ENTITY_PREFIXED(N) aci_##N | |
527 #elif defined (ENTITY_SIM) | |
528 #define _ENTITY_PREFIXED(N) sim_##N | |
529 #elif defined (ENTITY_PL) | |
530 #define _ENTITY_PREFIXED(N) pl_##N | |
531 #elif defined (ENTITY_L1) | |
532 #define _ENTITY_PREFIXED(N) l1_##N | |
533 #elif defined (ENTITY_CC) | |
534 #define _ENTITY_PREFIXED(N) cc_##N | |
535 #elif defined (ENTITY_SS) | |
536 #define _ENTITY_PREFIXED(N) ss_##N | |
537 #elif defined (ENTITY_ESIM) | |
538 #define _ENTITY_PREFIXED(N) esim_##N | |
539 #elif defined (ENTITY_SMS) | |
540 #define _ENTITY_PREFIXED(N) sms_##N | |
541 #elif defined (ENTITY_MM) | |
542 #define _ENTITY_PREFIXED(N) mm_##N | |
543 #elif defined (ENTITY_RR) | |
544 #define _ENTITY_PREFIXED(N) rr_##N | |
545 #elif defined (ENTITY_DL) | |
546 #define _ENTITY_PREFIXED(N) dl_##N | |
547 #elif defined (ENTITY_L2R) | |
548 #define _ENTITY_PREFIXED(N) l2r_##N | |
549 #elif defined (ENTITY_TRA) | |
550 #define _ENTITY_PREFIXED(N) tra_##N | |
551 #elif defined (ENTITY_RLP) | |
552 #define _ENTITY_PREFIXED(N) rlp_##N | |
553 #elif defined (ENTITY_T30) | |
554 #define _ENTITY_PREFIXED(N) t30_##N | |
555 #elif defined (ENTITY_FAD) | |
556 #define _ENTITY_PREFIXED(N) fad_##N | |
557 #elif defined (ENTITY_RA) | |
558 #define _ENTITY_PREFIXED(N) ra_##N | |
559 #elif defined (ENTITY_WAP) | |
560 #define _ENTITY_PREFIXED(N) wap_##N | |
561 #elif defined (ENTITY_UDP) | |
562 #define _ENTITY_PREFIXED(N) udp_##N | |
563 #elif defined (ENTITY_IP) | |
564 #define _ENTITY_PREFIXED(N) ip_##N | |
565 #elif defined (ENTITY_RRLP) | |
566 #define _ENTITY_PREFIXED(N) rrlp_##N | |
567 #elif defined (ENTITY_PPP) | |
568 #define _ENTITY_PREFIXED(N) ppp_##N | |
569 #elif defined (ENTITY_BTI) | |
570 #define _ENTITY_PREFIXED(N) bti_##N | |
571 #elif defined (ENTITY_L1) | |
572 #ifdef NEW_FRAME | |
573 #include "ofe.h" | |
574 #endif | |
575 #elif defined (ENTITY_TAP) | |
576 #define _ENTITY_PREFIXED(N) tap_##N | |
577 #elif defined (ENTITY_PCO) | |
578 #define _ENTITY_PREFIXED(N) pco_##N | |
579 #elif defined (ENTITY_PAN) | |
580 #define _ENTITY_PREFIXED(N) pan_##N | |
581 #elif defined (ENTITY_TST) | |
582 #define _ENTITY_PREFIXED(N) tst_##N | |
583 #elif defined (ENTITY_APP) | |
584 #define _ENTITY_PREFIXED(N) app_##N | |
585 #endif | |
586 #endif | |
587 | |
588 #endif |