104
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Purpose : Engineering Mode (EM) Declarations + Macros
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #ifndef SS_EM_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #define SS_EM_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #ifdef FF_EM_MODE
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 * Ring buffer is by one bigger than max. number of prims, because it
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 * needs always one termination entry.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 * To optimize the buffersize, the data is packed in the buffer as follows:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 * type, length, value
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 * Value is the combination of the additional parameters as defined in 8443.601, coded as UBYTE.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #define EM_SS_BUFFER_SIZE 31
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 * EM_MAX_SS_EVENTS defines maximum number of event traces for the engineering mode.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 * The number is increased by one to ensure that the event numbers defined in the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 * corresponding document are the same as in the sources.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #define EM_MAX_SS_EVENTS 11
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 * The offset is used to indicate the source entity the event trace is from.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 * L1/ALR = 0x00, DL = 0x2D, RR = 0x37, MM = 0x5F, CC = 0x78, SS = 0xAF, SMS = 0xBE, SIM = E1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #define SS_OFFSET 0xAF
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 * Type is combination of entity index(upper nibble) plus event number(lower nibble).
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 * Bit 8 7 6 5 4 3 2 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 * | entity | event number |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 #define SS_V_1 (1 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 #define SS_V_2 (2 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 #define SS_V_3 (3 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 #define SS_V_4 (4 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #define SS_V_5 (5 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 #define SS_V_6 (6 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 #define SS_V_7 (7 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 #define SS_V_8 (8 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 #define SS_V_9 (9 + SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 #define SS_V_10 (10+ SS_OFFSET)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 /* Event tracing flags for EM */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 EXTERN BOOL ss_v[EM_MAX_SS_EVENTS];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 /* -- Functions ----*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 * suppl. services primitives Engineering Mode
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 * Bitmask for the event tracing
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 EXTERN void ss_em_ss_event_req (T_EM_SS_EVENT_REQ *em_ss_event_req);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 GLOBAL void em_init_ss_event_trace (void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 * If all entities are linked into one module this definitions
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 * prefixes all this functions with the enity name
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 #ifdef OPTION_MULTITHREAD
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 #define em_write_buffer_3 _ENTITY_PREFIXED(em_write_buffer_3)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 #define check_write_index _ENTITY_PREFIXED(check_write_index)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 EXTERN UBYTE em_write_buffer_3 (UBYTE event_no, UBYTE value);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 EXTERN UBYTE check_write_index (UBYTE n);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 /*---------------Event Macros ----------*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 #define MM_EM_MM_CONNECTION_STARTED\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 /* MM connection started */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 if (ss_v[1])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 ss_v[1] = em_write_buffer_3 (SS_V_1 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 } /* ss_v[1] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 #define MM_EM_MM_CONNECTION_ESTABLISHED\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 /* MM connection established */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 if (ss_v[2])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 ss_v[2] = em_write_buffer_3 (SS_V_2 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 } /* ss_v[2] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 #define MM_EM_MM_CONNECTION_FAILED\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 /* MM connection failed */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 if (ss_v[3])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 ss_v[3] = em_write_buffer_3 (SS_V_3 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 } /* ss_v[3] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 #define MM_EM_MM_CONNECTION_ABORTED\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 /* MM connection aborted */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 if (ss_v[4])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 ss_v[4] = em_write_buffer_3 (SS_V_4 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 } /* ss_v[4] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 #define MM_EM_MM_CONNECTION_RELEASED\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 /* MM connection released */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 if (ss_v[5])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 ss_v[5] = em_write_buffer_3 (SS_V_5 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 } /* ss_v[5] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 #define MM_EM_REGISTER_MESSAGE_RECEIVED\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 /* Register message received */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 if (ss_v[6])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 ss_v[6] = em_write_buffer_3 (SS_V_6 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 } /* ss_v[6] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 #define MM_EM_FACILITY_MESSAGE_SENT\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 /* Facility message send */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 if (ss_v[7])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 ss_v[7] = em_write_buffer_3 (SS_V_7 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 } /* ss_v[7] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 #define MM_EM_FACILITY_MESSAGE_RECEIVED\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 /* Facility message received */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 if (ss_v[8])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 ss_v[8] = em_write_buffer_3 (SS_V_8 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 } /* ss_v[8] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 #define MM_EM_MM_RELEASE_COMPLETE_SENT\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 /* Release complete sent */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 if (ss_v[9])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 ss_v[9] = em_write_buffer_3 (SS_V_9 , ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 } /* ss_v[9] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 #define MM_EM_MM_RELEASE_COMPLETE_RECEIVED\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 /* Release complete received */\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 if (ss_v[10])\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 {\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 ss_v[10] = em_write_buffer_3 (SS_V_10, ss_data->ti);\
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 } /* ss_v[10] */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 #else /*FF_EM_MODE not defined*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 #define MM_EM_MM_CONNECTION_STARTED /*Event 1*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 #define MM_EM_MM_CONNECTION_ESTABLISHED /*Event 2*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 #define MM_EM_MM_CONNECTION_FAILED /*Event 3*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 #define MM_EM_MM_CONNECTION_ABORTED /*Event 4*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 #define MM_EM_MM_CONNECTION_RELEASED /*Event 5*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 #define MM_EM_REGISTER_MESSAGE_RECEIVED /*Event 6*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 #define MM_EM_FACILITY_MESSAGE_SENT /*Event 7*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 #define MM_EM_FACILITY_MESSAGE_RECEIVED /*Event 8*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 #define MM_EM_MM_RELEASE_COMPLETE_SENT /*Event 9*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 #define MM_EM_MM_RELEASE_COMPLETE_RECEIVED /*Event 10*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 #endif /*FF_EM_MODE*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 #endif /* SS_EM_H */
|