comparison src/condat/com/include/gsm.h @ 0:4e78acac3d88

src/{condat,cs,gpf,nucleus}: import from Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:23:26 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4e78acac3d88
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 /*lint -e773 Expression-like macro not parenthesized*/
147 #define NEW_BUFFER(p,s) T_PRIM *p = vsi_c_new(VSI_CALLER (T_VSI_CSIZE)((s)+sizeof(T_PRIM_HEADER)))
148 /*lint +e773*/
149 #else
150 #define FREE_BUFFER(p)
151 #define NEW_BUFFER(p,s) UBYTE buf_##p [(s)+sizeof(T_PRIM_HEADER)]; T_PRIM *p=(T_PRIM*)p1
152 #endif
153
154 #if !defined (_TMS470)
155 #define Sprintf sprintf
156 #else
157 int sprintf( char *buffer, const char *format, ... );
158 #endif
159
160 #ifndef NEW_FRAME
161
162 #ifdef _TMS470
163 #define SET_PRIM_OPCODE(P,O) P->custom.opc = O; P->custom.opc2 = 0
164 #else
165 #define SET_PRIM_OPCODE(P,O) P->custom.opc = O
166 #endif
167
168 #ifdef OPTION_LENGTH
169 #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))
170 #define SEND_PRIM_0(E,P,O) SET_PRIM_OPCODE (P,O); vsi_c_send (VSI_CALLER hComm##E, P, sizeof(T_PRIM_HEADER))
171 #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))
172 #else
173 #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))
174 #define SEND_PRIM_0(E,P,O) SET_PRIM_OPCODE (P,O); vsi_c_send (VSI_CALLER hComm##E, P, sizeof(T_PRIM_HEADER))
175 #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))
176 #endif
177
178 #endif /* NEW_FRAME */
179 /*
180 * declares a pointer variable (D) of the type T
181 * and initialize it with the startaddress of the data part
182 * of the primitive P
183 */
184 #ifndef ALLOC_CHECK
185 #if defined (_TMS470) AND defined (NWARN)
186 #define PRIM_ACCESS(P,S) &P->data
187 #else
188 #define PRIM_ACCESS(P,S) P->data
189 #endif
190 #else
191 #define PRIM_ACCESS(P,S) vsi_c_access(VSI_CALLER P,S)
192 #endif
193 /*lint -e773 Expression-like macro not parenthesized*/
194 #define PRIM_CAST(P,D,T) T *D = (T *) PRIM_ACCESS (P, sizeof (T))
195 /*lint +e773*/
196 /*
197 * declares a pointer variable (D) of the type T and
198 * initialize it with the start address of the global declared
199 * buffer _decodedMsg[] wich contains the decoded message
200 * structure before encoding or after decoding the message
201 * with CCD.
202 */
203 /*lint -e773 Expression-like macro not parenthesized*/
204 #define MSG_CAST(D,T) T *D = (T *) _decodedMsg
205 /*lint +e773*/
206 /*
207 * Memory Management(II)
208 */
209
210 #ifndef NEW_FRAME
211
212 #if defined (_TMS470) AND defined (NWARN)
213 #define P2D(P) (&(P)->data)
214 #else
215 #define P2D(P) ((P)->data)
216 #endif
217 #define D2P(D) ((T_PRIM*)((T_PRIM_HEADER*)(D)-1))
218
219 #ifdef ALLOC_CHECK
220 #define P2D_AC(P,T) PRIM_ACCESS(P,sizeof(T))
221 #else
222 #define P2D_AC(P,T) P2D(P)
223 #endif
224
225 #define PRIM_TO_DATA P2D
226 #define DATA_TO_PRIM D2P
227
228 #define P_OPC(P) (P)->custom.opc
229 #define P_OPC2(P) (P)->custom.opc2
230 #define P_LEN(P) (P)->custom.len
231 #define P_TID(P) (P)->custom.tid
232 #define P_SDU(P) (P)->custom.sdu
233
234 #define D_OPC(D) P_OPC(D2P(D))
235 #define D_OPC2(D) P_OPC2(D2P(D))
236 #define D_LEN(D) P_LEN(D2P(D))
237 #define D_TID(D) P_TID(D2P(D))
238 #define D_SDU(D) P_SDU(D2P(D))
239
240 #define D_SDU_LEN(D) D_SDU(D)->l_buf
241 #define D_SDU_OFF(D) D_SDU(D)->o_buf
242
243 #define BITS_PER_BYTE 8
244 #define BYTELEN(BITLEN) ((BITLEN)<=0?0:((((BITLEN)-1)/BITS_PER_BYTE)+1))
245
246 #define PRIM_SIZE(D) (sizeof(T_PRIM_HEADER)+sizeof(*(D)))
247 #define PRIM_SIZE_SDU(D) (PRIM_SIZE(D)+BYTELEN((D)->sdu.o_buf+(D)->sdu.l_buf))
248
249 #define PSIZE(D) (D_LEN(D)+((D_SDU(D)==0)?0:(BYTELEN(D_SDU_LEN(D)+D_SDU_OFF(D))-SDU_TRAIL)))
250
251 #define SIZ(T) (sizeof(T_PRIM_HEADER)+sizeof(T))
252
253 #define SIZ_SDU(T,M) (SIZ(T)+BYTELEN((M)+ENCODE_OFFSET)-SDU_TRAIL)
254
255 #define P_ALL(T) (T_PRIM *) vsi_c_new(VSI_CALLER (T_VSI_CSIZE)SIZ(T) )
256 #define P_ALL_SDU(T,M) (T_PRIM *) vsi_c_new(VSI_CALLER (T_VSI_CSIZE)SIZ_SDU(T,M))
257
258 #endif /* NEW_FRAME */
259
260 #define OFFSETOF(P,C) ((char*)&(P->C) - (char*)P)
261
262 #ifdef NTRACE
263 #define xxxNotify(A,B,C,D,E)
264 #else
265 #define xxxNotify(A,B,C,D,E) /* not used yet */
266 #endif
267
268
269 #define ACT_PALLOC 0x01
270 #define ACT_PALLOC_SDU 0x02
271 #define ACT_PALLOC_MSG 0x03
272 #define ACT_PREUSE 0x04
273 #define ACT_PREUSE_SDU 0x05
274 #define ACT_PREUSE_MSG 0x06
275 #define ACT_PFREE 0x07
276 #define ACT_PSEND 0x08
277 #define ACT_PSTORE 0x09
278 #define ACT_PRETRIEVE 0x0A
279 #define ACT_PACCESS 0x0B
280 #define ACT_PPASS 0x0C
281 #define ACT_PCAST 0x0D
282
283 /*** memory alloction ***/
284
285
286 #ifndef NEW_FRAME
287
288 #define PSENDX PSEND
289
290 #define PALLOC(D,T) T_##T *D = (T_##T*)P2D(P_ALL(T_##T));\
291 D_OPC(D) = (T);\
292 D_OPC2(D) = 0;\
293 D_LEN(D) = SIZ(T_##T);\
294 D_SDU(D) = 0;\
295 xxxNotify(ACT_PALLOC,VSI_CALLER,__FILE__,__LINE__,D2P(D))
296
297 #define PALLOC_MSG(D,T,M) T_##T *D = (T_##T*)P2D(P_ALL_SDU(T_##T,BSIZE_##M));\
298 D_OPC(D) = (T);\
299 D_OPC2(D) = 0;\
300 D_LEN(D) = SIZ(T_##T);\
301 D_SDU(D) = &((D)->sdu);\
302 D_SDU_LEN(D) = (BSIZE_##M);\
303 D_SDU_OFF(D) = ENCODE_OFFSET;\
304 xxxNotify(ACT_PALLOC_MSG,VSI_CALLER,__FILE__,__LINE__,D2P(D))
305
306 #define PALLOC_SDU(D,T,N) T_##T *D = (T_##T*)P2D(P_ALL_SDU(T_##T,N));\
307 D_OPC(D) = (T);\
308 D_OPC2(D) = 0;\
309 D_LEN(D) = SIZ(T_##T);\
310 D_SDU(D) = &((D)->sdu);\
311 D_SDU_LEN(D) = (N);\
312 D_SDU_OFF(D) = ENCODE_OFFSET;\
313 xxxNotify(ACT_PALLOC_SDU,VSI_CALLER,__FILE__,__LINE__,D2P(D))
314
315 #define PREUSE(D0,D,T) T_##T *D = (T_##T*)P2D_AC(D2P(D0),T);\
316 D_OPC(D) = (T);\
317 D_OPC2(D) = 0;\
318 D_LEN(D) = SIZ(T_##T);\
319 D_SDU(D) = 0;\
320 xxxNotify(ACT_REUSE,VSI_CALLER,__FILE__,__LINE__,D2P(D))
321
322 #define PREUSE_MSG(D,T,M) T_##T *D = (T_##T*)P2D_AC(D2P(D0),T);\
323 D_OPC(D) = (T);\
324 D_OPC2(D) = 0;\
325 D_LEN(D) = SIZ(T_##T);\
326 D_SDU(D) = &((D)->sdu);\
327 D_SDU_LEN(D) = (BSIZE_##M);\
328 D_SDU_OFF(D) = ENCODE_OFFSET;\
329 xxxNotify(ACT_PREUSE_MSG,VSI_CALLER,__FILE__,__LINE__,D2P(D))
330
331 #define PREUSE_SDU(D,T,N) T_##T *D = (T_##T*)P2D_AC(D2P(D0),T);\
332 USHORT BSIZE_##N;\
333 D_OPC(D) = (T);\
334 D_OPC2(D) = 0;\
335 D_LEN(D) = SIZ(T_##T);\
336 D_SDU(D) = &((D)->sdu);\
337 D_SDU_LEN(D) = (N);\
338 D_SDU_OFF(D) = ENCODE_OFFSET;\
339 xxxNotify(ACT_PREUSE_SDU,VSI_CALLER,__FILE__,__LINE__,D2P(D))
340
341 #define PFREE(D) { void *z=(void*)D2P(D);\
342 vsi_c_free(VSI_CALLER (void **)&z);\
343 xxxNotify(ACT_PFREE,VSI_CALLER,__FILE__,__LINE__,D2P(D)); }
344
345 #define PSEND(E,D) PTRACE_OUT(D_OPC(D));\
346 vsi_c_send (VSI_CALLER hComm##E, D2P(D), (T_VSI_CSIZE) PSIZE(D));\
347 xxxNotify(ACT_PSEND,VSI_CALLER,__FILE__,__LINE__,D2P(D))
348
349 #define PPASS(D0,D,T) T_##T *D = (T_##T*)P2D_AC(D2P(D0),T);\
350 D_OPC(D) = (T);\
351 xxxNotify(ACT_PPASS,VSI_CALLER,__FILE__,__LINE__,D2P(D))
352
353 #define PACCESS(D) xxxNotify(ACT_PACCESS,VSI_CALLER,__FILE__,__LINE__,D2P(D))
354
355
356 #endif /* NEW_FRAME */
357
358 /*
359 * to achieve backward compatibility
360 */
361
362 #if defined (NEW_FRAME)
363 #ifdef TI_PS_HCOMM_CHANGE
364 #define PSENDX(A,B) PSEND(_hComm##A,B)
365 #define _hCommACI hCommACI
366 #else
367 #define PSENDX(A,B) PSEND(hComm##A,B)
368 #endif
369 #else
370 #define PSENDX PSEND
371 #endif
372
373
374
375 #define PRETRIEVE /* NOT DEFINED YET */
376
377
378 #define MCAST(D,T) MSG_CAST(D,T_##T)
379 #define PCAST(P,D,T) T_##T *D = (T_##T*)P2D_AC(P,T);\
380 P_OPC(P)=T;\
381 xxxNotify(ACT_PCAST,VSI_CALLER,__FILE__,__LINE__,D2P(D))
382
383 #define PCOPY(DEST,SOURCE) memcpy(DEST,SOURCE,PSIZE(SOURCE)-sizeof(T_PRIM_HEADER))
384
385 /*** trace primitive, trace state ***/
386
387 #ifndef NEW_FRAME
388
389 #ifdef NTRACE
390
391 #define SET_STATE(PROCESS,STATE) ENTITY_DATA->state[PROCESS] = STATE
392 #define GET_STATE(PROCESS) ENTITY_DATA->state[PROCESS]
393
394 #define PTRACE_IN(OPC)
395 #define PTRACE_OUT(OPC)
396
397 #else
398
399 #define SET_STATE(PROCESS,STATE)\
400 ENTITY_DATA->state[PROCESS] =\
401 vsi_o_strace (VSI_CALLER\
402 PROCESS_NAME[PROCESS],\
403 PROCESS##_NAME [ ENTITY_DATA->state[PROCESS] ],\
404 PROCESS##_NAME [ STATE ],\
405 STATE )
406
407 #define GET_STATE(PROCESS)\
408 vsi_o_strace (VSI_CALLER\
409 PROCESS_NAME[PROCESS],\
410 PROCESS##_NAME [ ENTITY_DATA->state[PROCESS] ],\
411 NULL ,\
412 ENTITY_DATA->state[PROCESS] )
413
414 #define PTRACE_IN(OPC) vsi_o_ptrace (VSI_CALLER OPC, 0)
415 #define PTRACE_OUT(OPC) vsi_o_ptrace (VSI_CALLER OPC, 1)
416
417 #endif
418
419 #endif /* NEW_FRAME */
420 /*
421 * Timer, Jump Table, Configuration
422 */
423
424 #ifdef OPTION_TIMER
425 #define TSTART(i,h,v) tim_start_timer(i,h,v)
426 #else
427 #define TSTART(i,h,v) TIMER_START(VSI_CALLER h,v)
428 #endif
429
430 #ifdef OPTION_RELATIVE
431 #define JUMP(a) (a+offset)
432 #else
433 #define JUMP(a) (a)
434 #endif
435
436 #ifdef OPTION_SET_CONFIG_ONLY
437 #define GET_CONFIG(s,i)
438 #else
439 #define GET_CONFIG(s,i) pei_get_config(s,i)
440 #endif
441
442 /* Cause Concept (begin) */
443 /*
444 * For a definition of the cause concept please refer to document number
445 * 8443.711, named in February 2002 "cause_concept.doc"
446 */
447
448 /* definitions for calling the macros */
449 /* DefinedBy bit */
450 #define DEFBY_STD 0
451 #define DEFBY_CONDAT 1
452 /* OriginatingSide bit */
453 #define ORIGSIDE_NET 0
454 #define ORIGSIDE_MS 1
455 /*
456 * note that OriginatingEntity definitions are in the SAP GSMCOM, which is a
457 * central (pseudo) SAP and the definitions are referenced in the using
458 * "real" SAPs, like e.g. MNSS SAP for the originating entity SS
459 */
460
461 /* need to decide whether to mask ORIGIN_ENTITY (max. 6 bits) in the following macro */
462 #define CAUSE_MAKE(DEFINED_BY, ORIGIN_SIDE, ORIGIN_ENTITY, CAUSE_VALUE) \
463 (USHORT)(((CAUSE_VALUE) & 0x00FF) |\
464 ((DEFINED_BY) << 15) |\
465 ((ORIGIN_SIDE) << 14) |\
466 ((ORIGIN_ENTITY) << 8))
467
468 /* Get the cause value without the originating entity */
469 #define GET_CAUSE_VALUE(cause) (UBYTE)((cause) & 0xFF)
470
471 /* Get the entity originating the cause */
472 #define GET_CAUSE_ORIGIN_ENTITY(cause) (UBYTE)(((cause) >> 8) & 0x3F)
473
474 /* Get the DefinedBy bit */
475 #define GET_CAUSE_DEFBY(cause) (UBYTE)((cause) >> 15)
476
477 /* Get the OriginatingSide bit */
478 #define GET_CAUSE_ORIGSIDE(cause) (UBYTE)(((cause) >> 14) & 0x01)
479
480 /* Determine if a cause is invalid */
481 #define IS_CAUSE_INVALID(cause) (((cause) & 0x80FF) EQ 0x80FF)
482
483 /* Cause Concept (end) */
484
485
486 /*==== TYPES ======================================================*/
487 #if defined (_TMS470) && defined (NWARN)
488 typedef struct
489 {
490 UBYTE x [MAX_PSTRUCT_LEN
491 + (
492 L3_CODING_OFFSET
493 + MAX_BITSTREAM_LEN
494 ) / 8 + 1
495 ];
496 } T_PARAMETER;
497
498 typedef struct
499 {
500 T_PRIM_HEADER custom;
501 T_PARAMETER data;
502 } T_PRIM;
503 #else
504 typedef struct
505 {
506 T_PRIM_HEADER custom;
507 UBYTE data [MAX_PSTRUCT_LEN
508 + (
509 L3_CODING_OFFSET
510 + MAX_BITSTREAM_LEN
511 ) / 8 + 1
512 ];
513 } T_PRIM;
514 #endif
515
516 /*==== EXPORT =====================================================*/
517
518
519
520 /*
521 * Multithreading
522 */
523
524
525
526 #ifdef OPTION_MULTITHREAD
527 #if defined (ENTITY_CST)
528 #define _ENTITY_PREFIXED(N) cst_##N
529 #elif defined (ENTITY_ACI)
530 #define _ENTITY_PREFIXED(N) aci_##N
531 #elif defined (ENTITY_MFW)
532 #define _ENTITY_PREFIXED(N) aci_##N
533 #elif defined (ENTITY_MMI)
534 #define _ENTITY_PREFIXED(N) aci_##N
535 #elif defined (ENTITY_SMI)
536 #define _ENTITY_PREFIXED(N) aci_##N
537 #elif defined (ENTITY_SIM)
538 #define _ENTITY_PREFIXED(N) sim_##N
539 #elif defined (ENTITY_PL)
540 #define _ENTITY_PREFIXED(N) pl_##N
541 #elif defined (ENTITY_L1)
542 #define _ENTITY_PREFIXED(N) l1_##N
543 #elif defined (ENTITY_CC)
544 #define _ENTITY_PREFIXED(N) cc_##N
545 #elif defined (ENTITY_SS)
546 #define _ENTITY_PREFIXED(N) ss_##N
547 #elif defined (ENTITY_ESIM)
548 #define _ENTITY_PREFIXED(N) esim_##N
549 #elif defined (ENTITY_SMS)
550 #define _ENTITY_PREFIXED(N) sms_##N
551 #elif defined (ENTITY_MM)
552 #define _ENTITY_PREFIXED(N) mm_##N
553 #elif defined (ENTITY_RR)
554 #define _ENTITY_PREFIXED(N) rr_##N
555 #elif defined (ENTITY_DL)
556 #define _ENTITY_PREFIXED(N) dl_##N
557 #elif defined (ENTITY_L2R)
558 #define _ENTITY_PREFIXED(N) l2r_##N
559 #elif defined (ENTITY_TRA)
560 #define _ENTITY_PREFIXED(N) tra_##N
561 #elif defined (ENTITY_RLP)
562 #define _ENTITY_PREFIXED(N) rlp_##N
563 #elif defined (ENTITY_T30)
564 #define _ENTITY_PREFIXED(N) t30_##N
565 #elif defined (ENTITY_FAD)
566 #define _ENTITY_PREFIXED(N) fad_##N
567 #elif defined (ENTITY_RA)
568 #define _ENTITY_PREFIXED(N) ra_##N
569 #elif defined (ENTITY_WAP)
570 #define _ENTITY_PREFIXED(N) wap_##N
571 #elif defined (ENTITY_UDP)
572 #define _ENTITY_PREFIXED(N) udp_##N
573 #elif defined (ENTITY_IP)
574 #define _ENTITY_PREFIXED(N) ip_##N
575 #elif defined (ENTITY_RRLP)
576 #define _ENTITY_PREFIXED(N) rrlp_##N
577 #elif defined (ENTITY_PPP)
578 #define _ENTITY_PREFIXED(N) ppp_##N
579 #elif defined (ENTITY_BTI)
580 #define _ENTITY_PREFIXED(N) bti_##N
581 #elif defined (ENTITY_L1)
582 #ifdef NEW_FRAME
583 #include "ofe.h"
584 #endif
585 #elif defined (ENTITY_TAP)
586 #define _ENTITY_PREFIXED(N) tap_##N
587 #elif defined (ENTITY_PCO)
588 #define _ENTITY_PREFIXED(N) pco_##N
589 #elif defined (ENTITY_PAN)
590 #define _ENTITY_PREFIXED(N) pan_##N
591 #elif defined (ENTITY_TST)
592 #define _ENTITY_PREFIXED(N) tst_##N
593 #elif defined (ENTITY_APP)
594 #define _ENTITY_PREFIXED(N) app_##N
595 #endif
596 #endif
597
598 #endif