1 /*****************************************************************************\
3 ** Linux Call Router **
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg **
8 ** trace header file **
10 \*****************************************************************************/
12 /* definitions of commands */
13 #define L1_ACTIVATE_REQ 0x0001f000
14 #define L1_ACTIVATE_CON 0x0001f001
15 #define L1_ACTIVATE_IND 0x0001f002
16 #define L1_ACTIVATE_RES 0x0001f003
17 #define L1_DEACTIVATE_REQ 0x0001f100
18 #define L1_DEACTIVATE_CON 0x0001f101
19 #define L1_DEACTIVATE_IND 0x0001f102
20 #define L1_DEACTIVATE_RES 0x0001f103
21 #define L2_ESTABLISH_REQ 0x0002f000
22 #define L2_ESTABLISH_CON 0x0002f001
23 #define L2_ESTABLISH_IND 0x0002f002
24 #define L2_ESTABLISH_RES 0x0002f003
25 #define L2_RELEASE_REQ 0x0002f100
26 #define L2_RELEASE_CON 0x0002f101
27 #define L2_RELEASE_IND 0x0002f102
28 #define L2_RELEASE_RES 0x0002f103
29 #define L3_UNKNOWN 0x0003f200
30 #define L3_ALERTING_REQ 0x00030100
31 #define L3_ALERTING_IND 0x00030102
32 #define L3_PROCEEDING_REQ 0x00030200
33 #define L3_PROCEEDING_IND 0x00030202
34 #define L3_CONNECT_REQ 0x00030700
35 #define L3_CONNECT_IND 0x00030702
36 #define L3_CONNECT_RES 0x00030703
37 #define L3_CONNECT_ACKNOWLEDGE_REQ 0x00030f00
38 #define L3_CONNECT_ACKNOWLEDGE_IND 0x00030f02
39 #define L3_PROGRESS_REQ 0x00030300
40 #define L3_PROGRESS_IND 0x00030302
41 #define L3_SETUP_REQ 0x00030500
42 #define L3_SETUP_IND 0x00030502
43 #define L3_SETUP_ACKNOWLEDGE_REQ 0x00030d00
44 #define L3_SETUP_ACKNOWLEDGE_IND 0x00030d02
45 #define L3_RESUME_REQ 0x00032600
46 #define L3_RESUME_IND 0x00032602
47 #define L3_RESUME_ACKNOWLEDGE_REQ 0x00032e00
48 #define L3_RESUME_ACKNOWLEDGE_IND 0x00032e02
49 #define L3_RESUME_REJECT_REQ 0x00032200
50 #define L3_RESUME_REJECT_IND 0x00032202
51 #define L3_SUSPEND_REQ 0x00032500
52 #define L3_SUSPEND_IND 0x00032502
53 #define L3_SUSPEND_ACKNOWLEDGE_REQ 0x00032d00
54 #define L3_SUSPEND_ACKNOWLEDGE_IND 0x00032d02
55 #define L3_SUSPEND_REJECT_REQ 0x00032100
56 #define L3_SUSPEND_REJECT_IND 0x00032102
57 #define L3_USER_INFORMATION_REQ 0x00032000
58 #define L3_USER_INFORMATION_IND 0x00032002
59 #define L3_DISCONNECT_REQ 0x00034500
60 #define L3_DISCONNECT_IND 0x00034502
61 #define L3_RELEASE_REQ 0x00034d00
62 #define L3_RELEASE_IND 0x00034d02
63 #define L3_RELEASE_COMPLETE_REQ 0x00035a00
64 #define L3_RELEASE_COMPLETE_IND 0x00035a02
65 #define L3_RESTART_REQ 0x00034600
66 #define L3_RESTART_IND 0x00034602
67 #define L3_RESTART_ACKNOWLEDGE_REQ 0x00034e00
68 #define L3_RESTART_ACKNOWLEDGE_IND 0x00034e02
69 #define L3_SEGMENT_REQ 0x00036000
70 #define L3_SEGMENT_IND 0x00036002
71 #define L3_CONGESTION_CONTROL_REQ 0x00037900
72 #define L3_CONGESTION_CONTROL_IND 0x00037902
73 #define L3_INFORMATION_REQ 0x00037b00
74 #define L3_INFORMATION_IND 0x00037b02
75 #define L3_FACILITY_REQ 0x00036200
76 #define L3_FACILITY_IND 0x00036202
77 #define L3_NOTIFY_REQ 0x00036e00
78 #define L3_NOTIFY_IND 0x00036e02
79 #define L3_STATUS_REQ 0x00037d00
80 #define L3_STATUS_IND 0x00037d02
81 #define L3_STATUS_ENQUIRY_REQ 0x00037500
82 #define L3_STATUS_ENQUIRY_IND 0x00037502
83 #define L3_HOLD_REQ 0x00032400
84 #define L3_HOLD_IND 0x00032402
85 #define L3_HOLD_ACKNOWLEDGE_REQ 0x00032800
86 #define L3_HOLD_ACKNOWLEDGE_IND 0x00032802
87 #define L3_HOLD_REJECT_REQ 0x00033000
88 #define L3_HOLD_REJECT_IND 0x00033002
89 #define L3_RETRIEVE_REQ 0x00033100
90 #define L3_RETRIEVE_IND 0x00033102
91 #define L3_RETRIEVE_ACKNOWLEDGE_REQ 0x00033300
92 #define L3_RETRIEVE_ACKNOWLEDGE_IND 0x00033302
93 #define L3_RETRIEVE_REJECT_REQ 0x00033700
94 #define L3_RETRIEVE_REJECT_IND 0x00033702
96 #define L3_NEW_L3ID_REQ 0x0003f000
97 #define L3_NEW_L3ID_IND 0x0003f002
98 #define L3_RELEASE_L3ID_REQ 0x0003f100
99 #define L3_RELEASE_L3ID_IND 0x0003f102
101 #define L3_NEW_CR_REQ 0x0003f000
102 #define L3_NEW_CR_IND 0x0003f002
103 #define L3_RELEASE_CR_REQ 0x0003f100
104 #define L3_RELEASE_CR_IND 0x0003f102
106 #define L3_TIMEOUT_REQ 0x0003f200
107 #define L3_TIMEOUT_IND 0x0003f202
110 struct trace_element {
116 #define MAX_TRACE_ELEMENTS 32
124 unsigned long sec, usec;
128 unsigned long serial;
133 struct trace_element element[MAX_TRACE_ELEMENTS];
138 #define CATEGORY_CH 0x01
139 #define CATEGORY_EP 0x02
140 //#define CATEGORY_BC 0x04 check lcradmin help
143 #define start_trace(port, interface, caller, dialing, direction, category, serial, name) _start_trace(__FUNCTION__, __LINE__, port, interface, caller, dialing, direction, category, serial, name)
144 #define add_trace(name, sub, fmt, arg...) _add_trace(__FUNCTION__, __LINE__, name, sub, fmt, ## arg)
145 #define end_trace() _end_trace(__FUNCTION__, __LINE__)
146 void _start_trace(const char *__file, int line, int port, struct interface *interface, char *caller, char *dialing, int direction, int category, int serial, char *name);
147 void _add_trace(const char *__file, int line, char *name, char *sub, const char *fmt, ...);
148 void _end_trace(const char *__file, int line);
149 //char *print_trace(int port, char *interface, char *caller, char *dialing, int direction, char *category, char *name);