1
10
13
14
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
105
106
107
112
113
114
119
120
121
126
127
128
133
134
135
140
141
142
147
148
149
150
151
152
153
154
155
156
157
158
159
160
166
172
178
184
190
196
202
203
204
205
206
207
...
...
...
#define TX_SOURCE_CODE
#include "tx_api.h"
#include "tx_queue.h"
#ifdef TX_QUEUE_ENABLE_PERFORMANCE_INFO
#include "tx_trace.h"
#endif
...
...
UINT _tx_queue_performance_system_info_get(ULONG *messages_sent, ULONG *messages_received,
ULONG *empty_suspensions, ULONG *full_suspensions, ULONG *full_errors, ULONG *timeouts)
{
#ifdef TX_QUEUE_ENABLE_PERFORMANCE_INFO
TX_INTERRUPT_SAVE_AREA
TX_DISABLE
TX_TRACE_IN_LINE_INSERT(TX_TRACE_QUEUE_PERFORMANCE_SYSTEM_INFO_GET, 0, 0, 0, 0, TX_TRACE_QUEUE_EVENTS)
TX_EL_QUEUE_PERFORMANCE_SYSTEM_INFO_GET_INSERT
/* ... */
if (messages_sent != TX_NULL)
{
*messages_sent = _tx_queue_performance_messages_sent_count;
}if (messages_sent != TX_NULL) { ... }
if (messages_received != TX_NULL)
{
*messages_received = _tx_queue_performance__messages_received_count;
}if (messages_received != TX_NULL) { ... }
if (empty_suspensions != TX_NULL)
{
*empty_suspensions = _tx_queue_performance_empty_suspension_count;
}if (empty_suspensions != TX_NULL) { ... }
if (full_suspensions != TX_NULL)
{
*full_suspensions = _tx_queue_performance_full_suspension_count;
}if (full_suspensions != TX_NULL) { ... }
if (full_errors != TX_NULL)
{
*full_errors = _tx_queue_performance_full_error_count;
}if (full_errors != TX_NULL) { ... }
if (timeouts != TX_NULL)
{
*timeouts = _tx_queue_performance_timeout_count;
}if (timeouts != TX_NULL) { ... }
TX_RESTORE
return(TX_SUCCESS);
/* ... */
#else
UINT status;
if (messages_sent != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}if (messages_sent != TX_NULL) { ... }
else if (messages_received != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}else if (messages_received != TX_NULL) { ... }
else if (empty_suspensions != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}else if (empty_suspensions != TX_NULL) { ... }
else if (full_suspensions != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}else if (full_suspensions != TX_NULL) { ... }
else if (full_errors != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}else if (full_errors != TX_NULL) { ... }
else if (timeouts != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}else if (timeouts != TX_NULL) { ... }
else
{
status = TX_FEATURE_NOT_ENABLED;
}else { ... }
return(status);/* ... */
#endif
}{ ... }