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
102
103
104
109
110
111
116
117
118
123
124
125
130
131
132
137
138
139
144
145
146
151
152
153
158
159
160
161
162
163
164
165
...
...
...
#define TX_SOURCE_CODE
#include "tx_api.h"
#include "tx_trace.h"
#include "tx_thread.h"
...
...
UINT _tx_thread_info_get(TX_THREAD *thread_ptr, CHAR **name, UINT *state, ULONG *run_count,
UINT *priority, UINT *preemption_threshold, ULONG *time_slice,
TX_THREAD **next_thread, TX_THREAD **next_suspended_thread)
{
TX_INTERRUPT_SAVE_AREA
TX_DISABLE
TX_TRACE_IN_LINE_INSERT(TX_TRACE_THREAD_INFO_GET, thread_ptr, thread_ptr -> tx_thread_state, 0, 0, TX_TRACE_THREAD_EVENTS)
TX_EL_THREAD_INFO_GET_INSERT
/* ... */
if (name != TX_NULL)
{
*name = thread_ptr -> tx_thread_name;
}if (name != TX_NULL) { ... }
if (state != TX_NULL)
{
*state = thread_ptr -> tx_thread_state;
}if (state != TX_NULL) { ... }
if (run_count != TX_NULL)
{
*run_count = thread_ptr -> tx_thread_run_count;
}if (run_count != TX_NULL) { ... }
if (priority != TX_NULL)
{
*priority = thread_ptr -> tx_thread_user_priority;
}if (priority != TX_NULL) { ... }
if (preemption_threshold != TX_NULL)
{
*preemption_threshold = thread_ptr -> tx_thread_user_preempt_threshold;
}if (preemption_threshold != TX_NULL) { ... }
if (time_slice != TX_NULL)
{
*time_slice = thread_ptr -> tx_thread_time_slice;
}if (time_slice != TX_NULL) { ... }
if (next_thread != TX_NULL)
{
*next_thread = thread_ptr -> tx_thread_created_next;
}if (next_thread != TX_NULL) { ... }
if (next_suspended_thread != TX_NULL)
{
*next_suspended_thread = thread_ptr -> tx_thread_suspended_next;
}if (next_suspended_thread != TX_NULL) { ... }
TX_RESTORE
return(TX_SUCCESS);
}{ ... }