1
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 /* Copyright (c) 1993-1994 Accelerated Technology, Inc. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 /* PROPRIETARY RIGHTS of Accelerated Technology are involved in the */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 /* subject matter of this material. All manufacturing, reproduction, */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 /* use, and sales rights pertaining to this subject matter are governed */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 /* by the license agreement. The recipient of this software implicitly */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 /* accepts the terms of the license. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 /*************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 /*************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 /* FILE NAME VERSION */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 /* nucleus.h PLUS/THUMB/T 1.0 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 /* COMPONENT */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 /* System Constants */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 /* DESCRIPTION */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 /* This file contains system constants common to both the */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 /* application and the actual Nucleus PLUS components. This file */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /* also contains data structure definitions that hide internal */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 /* information from the application. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 /* AUTHOR */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 /* Barry Sellew, Accelerated Technology, Inc. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 /* DATA STRUCTURES */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 /* NU_DRIVER I/O Driver control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 /* NU_EVENT_GROUP Event group control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 /* NU_HISR HISR control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 /* NU_MAILBOX Mailbox control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 /* NU_MEMORY_POOL Memory Pool control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 /* NU_PARTITION_POOL Partition Pool control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 /* NU_PIPE Pipe control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 /* NU_QUEUE Queue control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 /* NU_SEMAPHORE Semaphore control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 /* NU_TASK Task control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 /* NU_TIMER Timer control block */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 /* NU_PROTECT Protection structure */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 /* FUNCTIONS */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 /* None */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 /* DEPENDENCIES */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 /* None */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 /* HISTORY */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 /* NAME DATE REMARKS */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 /* W. Lamie 04-19-1994 Created R4xxx version 1.0 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 /*************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 /* Check to see if this file has been included already. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 #ifndef NUCLEUS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 #ifdef __cplusplus
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 extern "C" { /* C declarations in C++ */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 #define NUCLEUS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 /* Define standard data types. These definitions allow Nucleus PLUS to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 perform in the same manner on different target platforms. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 typedef unsigned long UNSIGNED;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 typedef long SIGNED;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 typedef unsigned char DATA_ELEMENT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 typedef DATA_ELEMENT OPTION;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 typedef int STATUS;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 typedef unsigned char UNSIGNED_CHAR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 typedef char CHAR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 typedef int INT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 typedef void VOID;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 typedef unsigned long * UNSIGNED_PTR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 typedef unsigned char * BYTE_PTR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 /* Define register defines. R1, R2, R3, and R4 are used in the Nucleus PLUS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 source code in front of variables that are referenced often. In some
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 ports, defining them as "register" will improve performance. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 #define R1 register
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 #define R2 register
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 #define R3 register
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 #define R4 register
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 /* Define the number of accesses required to read or write a pointer data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 type. This value is used to make optimizations in some ports of Nucleus
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 PLUS. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 #define NU_POINTER_ACCESS 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 /* Define the padding required for usage of the DATA_ELEMENT type within
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 Nucleus PLUS structures. These values insure proper alignment for the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 next structure member. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 #define PAD_1 3
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 #define PAD_2 2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 #define PAD_3 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 /* Define constants that are target dependent and/or are used for internal
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 purposes. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 #define NU_MIN_STACK_SIZE 240
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 #define NU_MAX_NAME 8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 #define NU_MAX_VECTORS 8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 #define NU_MAX_LISRS 8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 /* Define constants for the number of UNSIGNED words in each of the basic
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 system data structures. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 #define NU_TASK_SIZE 42
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 #define NU_HISR_SIZE 22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 #define NU_MAILBOX_SIZE 13
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 #define NU_QUEUE_SIZE 18
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 #define NU_PIPE_SIZE 18
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 #define NU_SEMAPHORE_SIZE 10
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 #define NU_EVENT_GROUP_SIZE 9
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 #define NU_PARTITION_POOL_SIZE 15
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 #define NU_MEMORY_POOL_SIZE 17
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 #define NU_TIMER_SIZE 17
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 #define NU_PROTECT_SIZE 2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 #define NU_DRIVER_SIZE 3
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 /* Define what an interrupt vector looks like on the target processor. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 typedef struct NU_VECTOR_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 VOID *pointer;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 } NU_VECTOR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 /* Define constants for use in service parameters. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 #define NU_AND 2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 #define NU_AND_CONSUME 3
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 #define NU_DISABLE_TIMER 4
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 #define NU_ENABLE_TIMER 5
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 #define NU_FALSE 0
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 #define NU_FIFO 6
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 #define NU_FIXED_SIZE 7
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 #define NU_NO_PREEMPT 8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 #define NU_NO_START 9
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 #define NU_NO_SUSPEND 0
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 #define NU_NULL 0
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 #define NU_OR 0
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 #define NU_OR_CONSUME 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 #define NU_PREEMPT 10
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 #define NU_PRIORITY 11
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 #define NU_START 12
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 #define NU_SUSPEND 0xFFFFFFFFUL
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 #define NU_TRUE 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 #define NU_VARIABLE_SIZE 13
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 /* Define interrupt lockout and enable constants. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 #define NU_DISABLE_INTERRUPTS 0xC0
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 #define NU_ENABLE_INTERRUPTS 0x00
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 /* Define task suspension constants. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 #define NU_DRIVER_SUSPEND 10
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 #define NU_EVENT_SUSPEND 7
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 #define NU_FINISHED 11
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 #define NU_MAILBOX_SUSPEND 3
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 #define NU_MEMORY_SUSPEND 9
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 #define NU_PARTITION_SUSPEND 8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 #define NU_PIPE_SUSPEND 5
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 #define NU_PURE_SUSPEND 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 #define NU_QUEUE_SUSPEND 4
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 #define NU_READY 0
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 #define NU_SEMAPHORE_SUSPEND 6
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 #define NU_SLEEP_SUSPEND 2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 #define NU_TERMINATED 12
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 /* Define service completion status constants. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 #define NU_SUCCESS 0
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 #define NU_END_OF_LOG -1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 #define NU_GROUP_DELETED -2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 #define NU_INVALID_DELETE -3
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 #define NU_INVALID_DRIVER -4
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 #define NU_INVALID_ENABLE -5
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 #define NU_INVALID_ENTRY -6
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 #define NU_INVALID_FUNCTION -7
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 #define NU_INVALID_GROUP -8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 #define NU_INVALID_HISR -9
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 #define NU_INVALID_MAILBOX -10
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 #define NU_INVALID_MEMORY -11
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 #define NU_INVALID_MESSAGE -12
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 #define NU_INVALID_OPERATION -13
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 #define NU_INVALID_PIPE -14
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 #define NU_INVALID_POINTER -15
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 #define NU_INVALID_POOL -16
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 #define NU_INVALID_PREEMPT -17
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 #define NU_INVALID_PRIORITY -18
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 #define NU_INVALID_QUEUE -19
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 #define NU_INVALID_RESUME -20
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 #define NU_INVALID_SEMAPHORE -21
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 #define NU_INVALID_SIZE -22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 #define NU_INVALID_START -23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 #define NU_INVALID_SUSPEND -24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 #define NU_INVALID_TASK -25
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 #define NU_INVALID_TIMER -26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 #define NU_INVALID_VECTOR -27
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 #define NU_MAILBOX_DELETED -28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 #define NU_MAILBOX_EMPTY -29
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 #define NU_MAILBOX_FULL -30
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 #define NU_MAILBOX_RESET -31
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 #define NU_NO_MEMORY -32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 #define NU_NO_MORE_LISRS -33
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 #define NU_NO_PARTITION -34
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 #define NU_NOT_DISABLED -35
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 #define NU_NOT_PRESENT -36
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 #define NU_NOT_REGISTERED -37
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 #define NU_NOT_TERMINATED -38
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 #define NU_PIPE_DELETED -39
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 #define NU_PIPE_EMPTY -40
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 #define NU_PIPE_FULL -41
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 #define NU_PIPE_RESET -42
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 #define NU_POOL_DELETED -43
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 #define NU_QUEUE_DELETED -44
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 #define NU_QUEUE_EMPTY -45
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 #define NU_QUEUE_FULL -46
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 #define NU_QUEUE_RESET -47
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 #define NU_SEMAPHORE_DELETED -48
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 #define NU_SEMAPHORE_RESET -49
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 #define NU_TIMEOUT -50
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 #define NU_UNAVAILABLE -51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 /* Define system errors. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 #define NU_ERROR_CREATING_TIMER_HISR 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 #define NU_ERROR_CREATING_TIMER_TASK 2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 #define NU_STACK_OVERFLOW 3
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 #define NU_UNHANDLED_INTERRUPT 4
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 /* Define I/O driver constants. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 #define NU_IO_ERROR -1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 #define NU_INITIALIZE 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 #define NU_ASSIGN 2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 #define NU_RELEASE 3
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 #define NU_INPUT 4
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 #define NU_OUTPUT 5
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 #define NU_STATUS 6
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 #define NU_TERMINATE 7
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 /* Define history entry IDs. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 #define NU_USER_ID 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 #define NU_CREATE_TASK_ID 2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277 #define NU_DELETE_TASK_ID 3
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 #define NU_RESET_TASK_ID 4
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279 #define NU_TERMINATE_TASK_ID 5
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 #define NU_RESUME_TASK_ID 6
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 #define NU_SUSPEND_TASK_ID 7
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 #define NU_RELINQUISH_ID 8
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 #define NU_SLEEP_ID 9
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 #define NU_CHANGE_PRIORITY_ID 10
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285 #define NU_CHANGE_PREEMPTION_ID 11
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286 #define NU_CREATE_MAILBOX_ID 12
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 #define NU_DELETE_MAILBOX_ID 13
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288 #define NU_RESET_MAILBOX_ID 14
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289 #define NU_SEND_TO_MAILBOX_ID 15
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290 #define NU_BROADCAST_TO_MAILBOX_ID 16
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 #define NU_RECEIVE_FROM_MAILBOX_ID 17
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292 #define NU_CREATE_QUEUE_ID 18
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 #define NU_DELETE_QUEUE_ID 19
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294 #define NU_RESET_QUEUE_ID 20
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295 #define NU_SEND_TO_FRONT_OF_QUEUE_ID 21
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296 #define NU_SEND_TO_QUEUE_ID 22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297 #define NU_BROADCAST_TO_QUEUE_ID 23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 #define NU_RECEIVE_FROM_QUEUE_ID 24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 #define NU_CREATE_PIPE_ID 25
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300 #define NU_DELETE_PIPE_ID 26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 #define NU_RESET_PIPE_ID 27
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302 #define NU_SEND_TO_FRONT_OF_PIPE_ID 28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303 #define NU_SEND_TO_PIPE_ID 29
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304 #define NU_BROADCAST_TO_PIPE_ID 30
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 #define NU_RECEIVE_FROM_PIPE_ID 31
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 #define NU_CREATE_SEMAPHORE_ID 32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307 #define NU_DELETE_SEMAPHORE_ID 33
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308 #define NU_RESET_SEMAPHORE_ID 34
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 #define NU_OBTAIN_SEMAPHORE_ID 35
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310 #define NU_RELEASE_SEMAPHORE_ID 36
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 #define NU_CREATE_EVENT_GROUP_ID 37
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312 #define NU_DELETE_EVENT_GROUP_ID 38
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 #define NU_SET_EVENTS_ID 39
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314 #define NU_RETRIEVE_EVENTS_ID 40
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315 #define NU_CREATE_PARTITION_POOL_ID 41
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
316 #define NU_DELETE_PARTITION_POOL_ID 42
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
317 #define NU_ALLOCATE_PARTITION_ID 43
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318 #define NU_DEALLOCATE_PARTITION_ID 44
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 #define NU_CREATE_MEMORY_POOL_ID 45
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320 #define NU_DELETE_MEMORY_POOL_ID 46
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 #define NU_ALLOCATE_MEMORY_ID 47
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322 #define NU_DEALLOCATE_MEMORY_ID 48
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323 #define NU_CONTROL_SIGNALS_ID 49
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
324 #define NU_RECEIVE_SIGNALS_ID 50
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
325 #define NU_REGISTER_SIGNAL_HANDLER_ID 51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
326 #define NU_SEND_SIGNALS_ID 52
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
327 #define NU_REGISTER_LISR_ID 53
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328 #define NU_CREATE_HISR_ID 54
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329 #define NU_DELETE_HISR_ID 55
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
330 #define NU_CREATE_TIMER_ID 56
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
331 #define NU_DELETE_TIMER_ID 57
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
332 #define NU_CONTROL_TIMER_ID 58
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
333 #define NU_RESET_TIMER_ID 59
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
334 #define NU_CREATE_DRIVER_ID 60
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
335 #define NU_DELETE_DRIVER_ID 61
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
336 #define NU_REQUEST_DRIVER_ID 62
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
337 #define NU_RESUME_DRIVER_ID 63
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
338 #define NU_SUSPEND_DRIVER_ID 64
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
339 #define NU_CHANGE_TIME_SLICE_ID 65
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
340
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
341
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
342 /* Define the basic data structure templates. If the NU_DEBUG conditional
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
343 compilation is specified, the actual structure definition is used. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
344
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
345 #ifdef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
346 #include "cs_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
347 #include "tm_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
348 #include "tc_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
349 #include "mb_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
350 #include "qu_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
351 #include "pi_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
352 #include "sm_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
353 #include "ev_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
354 #include "pm_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
355 #include "dm_defs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
356 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
357
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
358
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
359 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
360
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
361 /* Define task control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
362 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
363 typedef struct NU_TASK_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
364 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
365 UNSIGNED words[NU_TASK_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
366 } NU_TASK;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
367 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
368
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
369 /* Define task control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
370 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
371 typedef TC_TCB NU_TASK;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
372 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
373
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
374
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
375 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
376
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
377 /* Define HISR control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
378 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
379 typedef struct NU_HISR_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
380 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
381 UNSIGNED words[NU_HISR_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
382 } NU_HISR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
383 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
384
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
385 /* Define HISR control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
386 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
387 typedef TC_HCB NU_HISR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
388 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
389
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
390
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
391 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
392
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
393 /* Define mailbox control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
394 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
395 typedef struct NU_MAILBOX_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
396 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
397 UNSIGNED words[NU_MAILBOX_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
398 } NU_MAILBOX;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
399 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
400
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
401 /* Define mailbox control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
402 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
403 typedef MB_MCB NU_MAILBOX;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
404 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
405
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
406
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
407 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
408
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
409 /* Define queue control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
410 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
411 typedef struct NU_QUEUE_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
412 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
413 UNSIGNED words[NU_QUEUE_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
414 } NU_QUEUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
415 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
416
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
417 /* Define queue control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
418 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
419 typedef QU_QCB NU_QUEUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
420 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
421
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
422
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
423 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
424
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
425 /* Define pipe control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
426 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
427 typedef struct NU_PIPE_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
428 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
429 UNSIGNED words[NU_PIPE_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
430 } NU_PIPE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
431 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
432
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
433 /* Define pipe control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
434 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
435 typedef PI_PCB NU_PIPE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
436 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
437
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
438
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
439 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
440
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
441 /* Define semaphore control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
442 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
443 typedef struct NU_SEMAPHORE_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
444 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
445 UNSIGNED words[NU_SEMAPHORE_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
446 } NU_SEMAPHORE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
447 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
448
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
449 /* Define semaphore control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
450 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
451 typedef SM_SCB NU_SEMAPHORE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
452 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
453
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
454
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
455 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
456
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
457 /* Define event group control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
458 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
459 typedef struct NU_EVENT_GROUP_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
460 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
461 UNSIGNED words[NU_EVENT_GROUP_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
462 } NU_EVENT_GROUP;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
463 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
464
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
465 /* Define event group control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
466 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
467 typedef EV_GCB NU_EVENT_GROUP;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
468 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
469
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
470
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
471 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
472
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
473 /* Define partition pool control data structure with all internal
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
474 information hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
475 typedef struct NU_PARTITION_POOL_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
476 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
477 UNSIGNED words[NU_PARTITION_POOL_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
478 } NU_PARTITION_POOL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
479 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
480
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
481 /* Define partition pool control data structure with the actual internal
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
482 data structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
483 typedef PM_PCB NU_PARTITION_POOL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
484 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
485
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
486
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
487 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
488
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
489 /* Define memory pool control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
490 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
491 typedef struct NU_MEMORY_POOL_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
492 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
493 UNSIGNED words[NU_MEMORY_POOL_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
494 } NU_MEMORY_POOL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
495 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
496
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
497 /* Define memory pool control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
498 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
499 typedef DM_PCB NU_MEMORY_POOL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
500 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
501
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
502
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
503 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
504
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
505 /* Define timer control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
506 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
507 typedef struct NU_TIMER_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
508 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
509 UNSIGNED words[NU_TIMER_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
510 } NU_TIMER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
511 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
512
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
513 /* Define timer control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
514 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
515 typedef TM_APP_TCB NU_TIMER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
516 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
517
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
518
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
519 #ifndef NU_DEBUG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
520
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
521 /* Define protect control data structure with all internal information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
522 hidden. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
523 typedef struct NU_PROTECT_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
524 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
525 UNSIGNED words[NU_PROTECT_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
526 } NU_PROTECT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
527 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
528
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
529 /* Define protect control data structure with the actual internal data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
530 structure. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
531 typedef TC_PROTECT NU_PROTECT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
532 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
533
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
534
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
535
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
536 /* Define I/O driver request structures. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
537
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
538 struct NU_INITIALIZE_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
539 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
540 VOID *nu_io_address; /* Base IO address */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
541 UNSIGNED nu_logical_units; /* Number of logical units */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
542 VOID *nu_memory; /* Generic memory pointer */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
543 INT nu_vector; /* Interrupt vector number */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
544 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
545
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
546 struct NU_ASSIGN_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
547 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
548 UNSIGNED nu_logical_unit; /* Logical unit number */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
549 INT nu_assign_info; /* Additional assign info */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
550 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
551
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
552 struct NU_RELEASE_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
553 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
554 UNSIGNED nu_logical_unit; /* Logical unit number */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
555 INT nu_release_info; /* Additional release info */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
556 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
557
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
558 struct NU_INPUT_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
559 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
560 UNSIGNED nu_logical_unit; /* Logical unit number */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
561 UNSIGNED nu_offset; /* Offset of input */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
562 UNSIGNED nu_request_size; /* Requested input size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
563 UNSIGNED nu_actual_size; /* Actual input size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
564 VOID *nu_buffer_ptr; /* Input buffer pointer */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
565 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
566
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
567 struct NU_OUTPUT_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
568 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
569 UNSIGNED nu_logical_unit; /* Logical unit number */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
570 UNSIGNED nu_offset; /* Offset of output */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
571 UNSIGNED nu_request_size; /* Requested output size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
572 UNSIGNED nu_actual_size; /* Actual output size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
573 VOID *nu_buffer_ptr; /* Output buffer pointer */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
574 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
575
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
576 struct NU_STATUS_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
577 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
578 UNSIGNED nu_logical_unit; /* Logical unit number */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
579 VOID *nu_extra_status; /* Additional status ptr */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
580 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
581
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
582 struct NU_TERMINATE_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
583 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
584 UNSIGNED nu_logical_unit; /* Logical unit number */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
585 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
586
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
587
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
588 typedef struct NU_DRIVER_REQUEST_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
589 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
590 INT nu_function; /* I/O request function */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
591 UNSIGNED nu_timeout; /* Timeout on request */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
592 STATUS nu_status; /* Status of request */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
593 UNSIGNED nu_supplemental; /* Supplemental information */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
594 VOID *nu_supplemental_ptr; /* Supplemental info pointer*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
595
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
596 /* Define a union of all the different types of request structures. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
597 union NU_REQUEST_INFO_UNION
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
598 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
599 struct NU_INITIALIZE_STRUCT nu_initialize;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
600 struct NU_ASSIGN_STRUCT nu_assign;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
601 struct NU_RELEASE_STRUCT nu_release;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
602 struct NU_INPUT_STRUCT nu_input;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
603 struct NU_OUTPUT_STRUCT nu_output;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
604 struct NU_STATUS_STRUCT nu_status;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
605 struct NU_TERMINATE_STRUCT nu_terminate;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
606 } nu_request_info;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
607
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
608 } NU_DRIVER_REQUEST;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
609
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
610 typedef struct NU_DRIVER_STRUCT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
611 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
612 UNSIGNED words[NU_DRIVER_SIZE];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
613 CHAR nu_driver_name[NU_MAX_NAME];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
614 VOID *nu_info_ptr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
615 UNSIGNED nu_driver_id;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
616 VOID (*nu_driver_entry)(struct NU_DRIVER_STRUCT *,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
617 NU_DRIVER_REQUEST *);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
618 } NU_DRIVER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
619
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
620
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
621
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
622 /* Define Nucleus PLUS system interfaces. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
623
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
624 VOID Application_Initialize(VOID *first_available_memory);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
625
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
626
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
627 /* The following area is only applicable to application files and is skipped
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
628 during compilation of Nucleus PLUS source files. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
629 #ifndef NU_SOURCE_FILE
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
630
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
631 /* Re-map task control functions depending on whether or not error checking
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
632 is specified. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
633 #ifdef NU_NO_ERROR_CHECKING
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
634 #define NU_Create_Task TCC_Create_Task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
635 #define NU_Delete_Task TCC_Delete_Task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
636 #define NU_Reset_Task TCC_Reset_Task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
637 #define NU_Terminate_Task TCC_Terminate_Task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
638 #define NU_Resume_Task TCC_Resume_Service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
639 #define NU_Suspend_Task TCC_Suspend_Service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
640 #define NU_Relinquish TCC_Relinquish
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
641 #define NU_Sleep TCC_Task_Sleep
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
642 #define NU_Change_Priority TCS_Change_Priority
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
643 #define NU_Change_Preemption TCS_Change_Preemption
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
644 #define NU_Change_Time_Slice TCS_Change_Time_Slice
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
645 #define NU_Check_Stack TCT_Check_Stack
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
646 #define NU_Current_Task_Pointer TCC_Current_Task_Pointer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
647 #define NU_Established_Tasks TCF_Established_Tasks
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
648 #define NU_Task_Information TCF_Task_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
649 #define NU_Task_Pointers TCF_Task_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
650 #define NU_Create_Mailbox MBC_Create_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
651 #define NU_Delete_Mailbox MBC_Delete_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
652 #define NU_Reset_Mailbox MBS_Reset_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
653 #define NU_Send_To_Mailbox MBC_Send_To_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
654 #define NU_Broadcast_To_Mailbox MBS_Broadcast_To_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
655 #define NU_Receive_From_Mailbox MBC_Receive_From_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
656 #define NU_Established_Mailboxes MBF_Established_Mailboxes
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
657 #define NU_Mailbox_Information MBF_Mailbox_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
658 #define NU_Mailbox_Pointers MBF_Mailbox_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
659 #define NU_Create_Queue QUC_Create_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
660 #define NU_Delete_Queue QUC_Delete_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
661 #define NU_Reset_Queue QUS_Reset_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
662 #define NU_Send_To_Front_Of_Queue QUS_Send_To_Front_Of_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
663 #define NU_Send_To_Queue QUC_Send_To_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
664 #define NU_Broadcast_To_Queue QUS_Broadcast_To_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
665 #define NU_Receive_From_Queue QUC_Receive_From_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
666 #define NU_Established_Queues QUF_Established_Queues
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
667 #define NU_Queue_Information QUF_Queue_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
668 #define NU_Queue_Pointers QUF_Queue_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
669 #define NU_Create_Pipe PIC_Create_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
670 #define NU_Delete_Pipe PIC_Delete_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
671 #define NU_Reset_Pipe PIS_Reset_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
672 #define NU_Send_To_Front_Of_Pipe PIS_Send_To_Front_Of_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
673 #define NU_Send_To_Pipe PIC_Send_To_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
674 #define NU_Broadcast_To_Pipe PIS_Broadcast_To_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
675 #define NU_Receive_From_Pipe PIC_Receive_From_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
676 #define NU_Established_Pipes PIF_Established_Pipes
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
677 #define NU_Pipe_Information PIF_Pipe_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
678 #define NU_Pipe_Pointers PIF_Pipe_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
679 #define NU_Create_Semaphore SMC_Create_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
680 #define NU_Delete_Semaphore SMC_Delete_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
681 #define NU_Reset_Semaphore SMS_Reset_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
682 #define NU_Obtain_Semaphore SMC_Obtain_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
683 #define NU_Release_Semaphore SMC_Release_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
684 #define NU_Established_Semaphores SMF_Established_Semaphores
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
685 #define NU_Semaphore_Information SMF_Semaphore_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
686 #define NU_Semaphore_Pointers SMF_Semaphore_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
687 #define NU_Create_Event_Group EVC_Create_Event_Group
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
688 #define NU_Delete_Event_Group EVC_Delete_Event_Group
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
689 #define NU_Set_Events EVC_Set_Events
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
690 #define NU_Retrieve_Events EVC_Retrieve_Events
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
691 #define NU_Established_Event_Groups EVF_Established_Event_Groups
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
692 #define NU_Event_Group_Information EVF_Event_Group_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
693 #define NU_Event_Group_Pointers EVF_Event_Group_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
694 #define NU_Create_Partition_Pool PMC_Create_Partition_Pool
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
695 #define NU_Delete_Partition_Pool PMC_Delete_Partition_Pool
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
696 #define NU_Allocate_Partition PMC_Allocate_Partition
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
697 #define NU_Deallocate_Partition PMC_Deallocate_Partition
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
698 #define NU_Established_Partition_Pools PMF_Established_Partition_Pools
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
699 #define NU_Partition_Pool_Information PMF_Partition_Pool_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
700 #define NU_Partition_Pool_Pointers PMF_Partition_Pool_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
701 #define NU_Create_Memory_Pool DMC_Create_Memory_Pool
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
702 #define NU_Delete_Memory_Pool DMC_Delete_Memory_Pool
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
703 #define NU_Allocate_Memory DMC_Allocate_Memory
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
704 #define NU_Deallocate_Memory DMC_Deallocate_Memory
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
705 #define NU_Established_Memory_Pools DMF_Established_Memory_Pools
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
706 #define NU_Memory_Pool_Information DMF_Memory_Pool_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
707 #define NU_Memory_Pool_Pointers DMF_Memory_Pool_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
708 #define NU_Control_Signals TCS_Control_Signals
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
709 #define NU_Receive_Signals TCS_Receive_Signals
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
710 #define NU_Register_Signal_Handler TCS_Register_Signal_Handler
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
711 #define NU_Send_Signals TCS_Send_Signals
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
712 #define NU_Setup_Vector INT_Setup_Vector
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
713 #define NU_Register_LISR TCC_Register_LISR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
714 #define NU_Activate_HISR TCT_Activate_HISR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
715 #define NU_Create_HISR TCC_Create_HISR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
716 #define NU_Delete_HISR TCC_Delete_HISR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
717 #define NU_Current_HISR_Pointer TCC_Current_HISR_Pointer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
718 #define NU_Established_HISRs TCF_Established_HISRs
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
719 #define NU_HISR_Pointers TCF_HISR_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
720 #define NU_HISR_Information TCF_HISR_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
721 #define NU_Protect TCT_Protect
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
722 #define NU_Unprotect TCT_Unprotect
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
723 #define NU_Control_Interrupts TCT_Control_Interrupts
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
724 #define NU_Local_Control_Interrupts TCT_Local_Control_Interrupts
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
725 #define NU_Restore_Interrupts TCT_Restore_Interrupts
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
726 #define NU_Set_Clock TMT_Set_Clock
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
727 #define NU_Retrieve_Clock TMT_Retrieve_Clock
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
728 #define NU_Create_Timer TMS_Create_Timer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
729 #define NU_Delete_Timer TMS_Delete_Timer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
730 #define NU_Control_Timer TMS_Control_Timer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
731 #define NU_Reset_Timer TMS_Reset_Timer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
732 #define NU_Established_Timers TMF_Established_Timers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
733 #define NU_Timer_Pointers TMF_Timer_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
734 #define NU_Timer_Information TMF_Timer_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
735 #define NU_Release_Information RLC_Release_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
736 #define NU_License_Information LIC_License_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
737 #define NU_Disable_History_Saving HIC_Disable_History_Saving
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
738 #define NU_Enable_History_Saving HIC_Enable_History_Saving
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
739 #define NU_Make_History_Entry HIC_Make_History_Entry_Service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
740 #define NU_Retrieve_History_Entry HIC_Retrieve_History_Entry
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
741 #define NU_Create_Driver IOC_Create_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
742 #define NU_Delete_Driver IOC_Delete_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
743 #define NU_Request_Driver IOC_Request_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
744 #define NU_Resume_Driver IOC_Resume_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
745 #define NU_Suspend_Driver IOC_Suspend_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
746 #define NU_Established_Drivers IOF_Established_Drivers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
747 #define NU_Driver_Pointers IOF_Driver_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
748 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
749 #define NU_Create_Task TCCE_Create_Task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
750 #define NU_Delete_Task TCCE_Delete_Task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
751 #define NU_Reset_Task TCCE_Reset_Task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
752 #define NU_Terminate_Task TCCE_Terminate_Task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
753 #define NU_Resume_Task TCCE_Resume_Service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
754 #define NU_Suspend_Task TCCE_Suspend_Service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
755 #define NU_Relinquish TCCE_Relinquish
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
756 #define NU_Sleep TCCE_Task_Sleep
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
757 #define NU_Change_Priority TCSE_Change_Priority
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
758 #define NU_Change_Preemption TCSE_Change_Preemption
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
759 #define NU_Change_Time_Slice TCSE_Change_Time_Slice
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
760 #define NU_Check_Stack TCT_Check_Stack
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
761 #define NU_Current_Task_Pointer TCC_Current_Task_Pointer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
762 #define NU_Established_Tasks TCF_Established_Tasks
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
763 #define NU_Task_Information TCF_Task_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
764 #define NU_Task_Pointers TCF_Task_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
765 #define NU_Create_Mailbox MBCE_Create_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
766 #define NU_Delete_Mailbox MBCE_Delete_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
767 #define NU_Reset_Mailbox MBSE_Reset_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
768 #define NU_Send_To_Mailbox MBCE_Send_To_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
769 #define NU_Broadcast_To_Mailbox MBSE_Broadcast_To_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
770 #define NU_Receive_From_Mailbox MBCE_Receive_From_Mailbox
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
771 #define NU_Established_Mailboxes MBF_Established_Mailboxes
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
772 #define NU_Mailbox_Information MBF_Mailbox_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
773 #define NU_Mailbox_Pointers MBF_Mailbox_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
774 #define NU_Create_Queue QUCE_Create_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
775 #define NU_Delete_Queue QUCE_Delete_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
776 #define NU_Reset_Queue QUSE_Reset_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
777 #define NU_Send_To_Queue QUCE_Send_To_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
778 #define NU_Send_To_Front_Of_Queue QUSE_Send_To_Front_Of_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
779 #define NU_Broadcast_To_Queue QUSE_Broadcast_To_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
780 #define NU_Receive_From_Queue QUCE_Receive_From_Queue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
781 #define NU_Established_Queues QUF_Established_Queues
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
782 #define NU_Queue_Information QUF_Queue_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
783 #define NU_Queue_Pointers QUF_Queue_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
784 #define NU_Create_Pipe PICE_Create_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
785 #define NU_Delete_Pipe PICE_Delete_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
786 #define NU_Reset_Pipe PISE_Reset_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
787 #define NU_Send_To_Front_Of_Pipe PISE_Send_To_Front_Of_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
788 #define NU_Send_To_Pipe PICE_Send_To_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
789 #define NU_Broadcast_To_Pipe PISE_Broadcast_To_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
790 #define NU_Receive_From_Pipe PICE_Receive_From_Pipe
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
791 #define NU_Established_Pipes PIF_Established_Pipes
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
792 #define NU_Pipe_Information PIF_Pipe_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
793 #define NU_Pipe_Pointers PIF_Pipe_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
794 #define NU_Create_Semaphore SMCE_Create_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
795 #define NU_Delete_Semaphore SMCE_Delete_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
796 #define NU_Reset_Semaphore SMSE_Reset_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
797 #define NU_Obtain_Semaphore SMCE_Obtain_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
798 #define NU_Release_Semaphore SMCE_Release_Semaphore
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
799 #define NU_Established_Semaphores SMF_Established_Semaphores
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
800 #define NU_Semaphore_Information SMF_Semaphore_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
801 #define NU_Semaphore_Pointers SMF_Semaphore_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
802 #define NU_Create_Event_Group EVCE_Create_Event_Group
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
803 #define NU_Delete_Event_Group EVCE_Delete_Event_Group
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
804 #define NU_Set_Events EVCE_Set_Events
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
805 #define NU_Retrieve_Events EVCE_Retrieve_Events
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
806 #define NU_Established_Event_Groups EVF_Established_Event_Groups
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
807 #define NU_Event_Group_Information EVF_Event_Group_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
808 #define NU_Event_Group_Pointers EVF_Event_Group_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
809 #define NU_Create_Partition_Pool PMCE_Create_Partition_Pool
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
810 #define NU_Delete_Partition_Pool PMCE_Delete_Partition_Pool
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
811 #define NU_Allocate_Partition PMCE_Allocate_Partition
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
812 #define NU_Deallocate_Partition PMCE_Deallocate_Partition
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
813 #define NU_Established_Partition_Pools PMF_Established_Partition_Pools
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
814 #define NU_Partition_Pool_Information PMF_Partition_Pool_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
815 #define NU_Partition_Pool_Pointers PMF_Partition_Pool_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
816 #define NU_Create_Memory_Pool DMCE_Create_Memory_Pool
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
817 #define NU_Delete_Memory_Pool DMCE_Delete_Memory_Pool
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
818 #define NU_Allocate_Memory DMCE_Allocate_Memory
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
819 #define NU_Deallocate_Memory DMCE_Deallocate_Memory
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
820 #define NU_Established_Memory_Pools DMF_Established_Memory_Pools
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
821 #define NU_Memory_Pool_Information DMF_Memory_Pool_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
822 #define NU_Memory_Pool_Pointers DMF_Memory_Pool_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
823 #define NU_Control_Signals TCSE_Control_Signals
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
824 #define NU_Receive_Signals TCSE_Receive_Signals
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
825 #define NU_Register_Signal_Handler TCSE_Register_Signal_Handler
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
826 #define NU_Send_Signals TCSE_Send_Signals
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
827 #define NU_Setup_Vector INT_Setup_Vector
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
828 #define NU_Register_LISR TCC_Register_LISR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
829 #define NU_Activate_HISR TCCE_Activate_HISR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
830 #define NU_Create_HISR TCCE_Create_HISR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
831 #define NU_Delete_HISR TCCE_Delete_HISR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
832 #define NU_Current_HISR_Pointer TCF_Current_HISR_Pointer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
833 #define NU_Established_HISRs TCF_Established_HISRs
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
834 #define NU_HISR_Pointers TCF_HISR_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
835 #define NU_HISR_Information TCF_HISR_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
836 #define NU_Protect TCT_Protect
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
837 #define NU_Unprotect TCT_Unprotect
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
838 #define NU_Control_Interrupts TCT_Control_Interrupts
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
839 #define NU_Local_Control_Interrupts TCT_Local_Control_Interrupts
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
840 #define NU_Restore_Interrupts TCT_Restore_Interrupts
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
841 #define NU_Set_Clock TMT_Set_Clock
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
842 #define NU_Retrieve_Clock TMT_Retrieve_Clock
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
843 #define NU_Create_Timer TMSE_Create_Timer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
844 #define NU_Delete_Timer TMSE_Delete_Timer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
845 #define NU_Control_Timer TMSE_Control_Timer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
846 #define NU_Reset_Timer TMSE_Reset_Timer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
847 #define NU_Established_Timers TMF_Established_Timers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
848 #define NU_Timer_Pointers TMF_Timer_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
849 #define NU_Timer_Information TMF_Timer_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
850 #define NU_Release_Information RLC_Release_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
851 #define NU_License_Information LIC_License_Information
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
852 #define NU_Disable_History_Saving HIC_Disable_History_Saving
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
853 #define NU_Enable_History_Saving HIC_Enable_History_Saving
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
854 #define NU_Make_History_Entry HIC_Make_History_Entry_Service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
855 #define NU_Retrieve_History_Entry HIC_Retrieve_History_Entry
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
856 #define NU_Create_Driver IOCE_Create_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
857 #define NU_Delete_Driver IOCE_Delete_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
858 #define NU_Request_Driver IOCE_Request_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
859 #define NU_Resume_Driver IOCE_Resume_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
860 #define NU_Suspend_Driver IOCE_Suspend_Driver
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
861 #define NU_Established_Drivers IOF_Established_Drivers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
862 #define NU_Driver_Pointers IOF_Driver_Pointers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
863 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
864
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
865
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
866 /* Define task control functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
867
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
868 STATUS NU_Create_Task(NU_TASK *task, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
869 VOID (*task_entry)(UNSIGNED, VOID *), UNSIGNED argc,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
870 VOID *argv, VOID *stack_address, UNSIGNED stack_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
871 OPTION priority, UNSIGNED time_slice,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
872 OPTION preempt, OPTION auto_start);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
873 STATUS NU_Delete_Task(NU_TASK *task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
874 STATUS NU_Reset_Task(NU_TASK *task, UNSIGNED argc, VOID *argv);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
875 STATUS NU_Terminate_Task(NU_TASK *task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
876 STATUS NU_Resume_Task(NU_TASK *task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
877 STATUS NU_Suspend_Task(NU_TASK *task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
878 VOID NU_Relinquish(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
879 VOID NU_Sleep(UNSIGNED ticks);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
880 OPTION NU_Change_Priority(NU_TASK *task, OPTION new_priority);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
881 OPTION NU_Change_Preemption(OPTION preempt);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
882 UNSIGNED NU_Change_Time_Slice(NU_TASK *task, UNSIGNED time_slice);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
883 UNSIGNED NU_Check_Stack(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
884 NU_TASK *NU_Current_Task_Pointer(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
885 UNSIGNED NU_Established_Tasks(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
886 STATUS NU_Task_Information(NU_TASK *task, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
887 DATA_ELEMENT *status, UNSIGNED *scheduled_count,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
888 OPTION *priority, OPTION *preempt,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
889 UNSIGNED *time_slice, VOID **stack_base,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
890 UNSIGNED *stack_size, UNSIGNED *minimum_stack);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
891 UNSIGNED NU_Task_Pointers(NU_TASK **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
892 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
893
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
894 /* Define Mailbox management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
895
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
896 STATUS NU_Create_Mailbox(NU_MAILBOX *mailbox, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
897 OPTION suspend_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
898 STATUS NU_Delete_Mailbox(NU_MAILBOX *mailbox);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
899 STATUS NU_Reset_Mailbox(NU_MAILBOX *mailbox);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
900 STATUS NU_Send_To_Mailbox(NU_MAILBOX *mailbox, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
901 UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
902 STATUS NU_Broadcast_To_Mailbox(NU_MAILBOX *mailbox, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
903 UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
904 STATUS NU_Receive_From_Mailbox(NU_MAILBOX *mailbox, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
905 UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
906 UNSIGNED NU_Established_Mailboxes(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
907 STATUS NU_Mailbox_Information(NU_MAILBOX *mailbox, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
908 OPTION *suspend_type, OPTION *message_present,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
909 UNSIGNED *tasks_waiting, NU_TASK **first_task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
910 UNSIGNED MBC_Mailbox_Pointers(NU_MAILBOX **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
911 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
912
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
913 /* Define Queue management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
914
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
915 STATUS NU_Create_Queue(NU_QUEUE *queue, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
916 VOID *start_address, UNSIGNED queue_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
917 OPTION message_type, UNSIGNED message_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
918 OPTION suspend_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
919 STATUS NU_Delete_Queue(NU_QUEUE *queue);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
920 STATUS NU_Reset_Queue(NU_QUEUE *queue);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
921 STATUS NU_Send_To_Front_Of_Queue(NU_QUEUE *queue, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
922 UNSIGNED size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
923 STATUS NU_Send_To_Queue(NU_QUEUE *queue, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
924 UNSIGNED size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
925 STATUS NU_Broadcast_To_Queue(NU_QUEUE *queue, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
926 UNSIGNED size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
927 STATUS NU_Receive_From_Queue(NU_QUEUE *queue, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
928 UNSIGNED size, UNSIGNED *actual_size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
929 UNSIGNED NU_Established_Queues(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
930 STATUS NU_Queue_Information(NU_QUEUE *queue, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
931 VOID **start_address, UNSIGNED *queue_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
932 UNSIGNED *available, UNSIGNED *messages,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
933 OPTION *message_type, UNSIGNED *message_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
934 OPTION *suspend_type, UNSIGNED *tasks_waiting,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
935 NU_TASK **first_task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
936 UNSIGNED NU_Queue_Pointers(NU_QUEUE **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
937 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
938
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
939 /* Define Pipe management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
940
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
941 STATUS NU_Create_Pipe(NU_PIPE *pipe, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
942 VOID *start_address, UNSIGNED pipe_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
943 OPTION message_type, UNSIGNED message_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
944 OPTION suspend_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
945 STATUS NU_Delete_Pipe(NU_PIPE *pipe);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
946 STATUS NU_Reset_Pipe(NU_PIPE *pipe);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
947 STATUS NU_Send_To_Front_Of_Pipe(NU_PIPE *pipe, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
948 UNSIGNED size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
949 STATUS NU_Send_To_Pipe(NU_PIPE *pipe, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
950 UNSIGNED size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
951 STATUS NU_Broadcast_To_Pipe(NU_PIPE *pipe, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
952 UNSIGNED size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
953 STATUS NU_Receive_From_Pipe(NU_PIPE *pipe, VOID *message,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
954 UNSIGNED size, UNSIGNED *actual_size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
955 UNSIGNED NU_Established_Pipes(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
956 STATUS NU_Pipe_Information(NU_PIPE *pipe, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
957 VOID **start_address, UNSIGNED *pipe_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
958 UNSIGNED *available, UNSIGNED *messages,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
959 OPTION *message_type, UNSIGNED *message_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
960 OPTION *suspend_type, UNSIGNED *tasks_waiting,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
961 NU_TASK **first_task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
962 UNSIGNED NU_Pipe_Pointers(NU_PIPE **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
963 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
964
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
965 /* Define Semaphore management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
966
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
967 STATUS NU_Create_Semaphore(NU_SEMAPHORE *semaphore, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
968 UNSIGNED initial_count, OPTION suspend_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
969 STATUS NU_Delete_Semaphore(NU_SEMAPHORE *semaphore);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
970 STATUS NU_Reset_Semaphore(NU_SEMAPHORE *semaphore,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
971 UNSIGNED initial_count);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
972 STATUS NU_Obtain_Semaphore(NU_SEMAPHORE *semaphore, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
973 STATUS NU_Release_Semaphore(NU_SEMAPHORE *semaphore);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
974 UNSIGNED NU_Established_Semaphores(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
975 STATUS NU_Semaphore_Information(NU_SEMAPHORE *semaphore, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
976 UNSIGNED *current_count, OPTION *suspend_type,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
977 UNSIGNED *tasks_waiting, NU_TASK **first_task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
978 UNSIGNED NU_Semaphore_Pointers(NU_SEMAPHORE **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
979 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
980
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
981 /* Define Event Group management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
982
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
983 STATUS NU_Create_Event_Group(NU_EVENT_GROUP *group, CHAR *name);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
984 STATUS NU_Delete_Event_Group(NU_EVENT_GROUP *group);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
985 STATUS NU_Set_Events(NU_EVENT_GROUP *group, UNSIGNED events,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
986 OPTION operation);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
987 STATUS NU_Retrieve_Events(NU_EVENT_GROUP *group,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
988 UNSIGNED requested_flags, OPTION operation,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
989 UNSIGNED *retrieved_flags, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
990 UNSIGNED NU_Established_Event_Groups(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
991 STATUS NU_Event_Group_Information(NU_EVENT_GROUP *group, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
992 UNSIGNED *event_flags, UNSIGNED *tasks_waiting,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
993 NU_TASK **first_task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
994 UNSIGNED NU_Event_Group_Pointers(NU_EVENT_GROUP **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
995 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
996
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
997 /* Define Signal processing functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
998
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
999 UNSIGNED NU_Control_Signals(UNSIGNED signal_enable_mask);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1000 UNSIGNED NU_Receive_Signals(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1001 STATUS NU_Register_Signal_Handler(VOID (*signal_handler)(UNSIGNED));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1002 STATUS NU_Send_Signals(NU_TASK *task, UNSIGNED signals);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1003
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1004 /* Define Partition memory management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1005
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1006 STATUS NU_Create_Partition_Pool(NU_PARTITION_POOL *pool, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1007 VOID *start_address, UNSIGNED pool_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1008 UNSIGNED partition_size, OPTION suspend_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1009 STATUS NU_Delete_Partition_Pool(NU_PARTITION_POOL *pool);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1010 STATUS NU_Allocate_Partition(NU_PARTITION_POOL *pool,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1011 VOID **return_pointer, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1012 STATUS NU_Deallocate_Partition(VOID *partition);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1013 UNSIGNED NU_Established_Partition_Pools(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1014 STATUS NU_Partition_Pool_Information(NU_PARTITION_POOL *pool,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1015 CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1016 VOID **start_address, UNSIGNED *pool_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1017 UNSIGNED *partition_size, UNSIGNED *available,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1018 UNSIGNED *allocated, OPTION *suspend_type,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1019 UNSIGNED *tasks_waiting, NU_TASK **first_task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1020 UNSIGNED NU_Partition_Pool_Pointers(NU_PARTITION_POOL **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1021 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1022
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1023 /* Define Dynamic memory management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1024
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1025 STATUS NU_Create_Memory_Pool(NU_MEMORY_POOL *pool, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1026 VOID *start_address, UNSIGNED pool_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1027 UNSIGNED min_allocation, OPTION suspend_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1028 STATUS NU_Delete_Memory_Pool(NU_MEMORY_POOL *pool);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1029 STATUS NU_Allocate_Memory(NU_MEMORY_POOL *pool, VOID **return_pointer,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1030 UNSIGNED size, UNSIGNED suspend);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1031 STATUS NU_Deallocate_Memory(VOID *memory);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1032 UNSIGNED NU_Established_Memory_Pools(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1033 STATUS NU_Memory_Pool_Information(NU_MEMORY_POOL *pool, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1034 VOID **start_address, UNSIGNED *pool_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1035 UNSIGNED *min_allocation, UNSIGNED *available,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1036 OPTION *suspend_type, UNSIGNED *tasks_waiting,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1037 NU_TASK **first_task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1038 UNSIGNED NU_Memory_Pool_Pointers(NU_MEMORY_POOL **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1039 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1040
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1041 /* Define Interrupt management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1042
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1043 INT NU_Control_Interrupts(INT new_level);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1044 INT NU_Local_Control_Interrupts(INT new_level);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1045 VOID NU_Restore_Interrupts(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1046 VOID *NU_Setup_Vector(INT vector, VOID *new_vector);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1047 STATUS NU_Register_LISR(INT vector,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1048 VOID (*new_lisr)(INT),
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1049 VOID (**old_lisr)(INT));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1050 STATUS NU_Activate_HISR(NU_HISR *hisr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1051 STATUS NU_Create_HISR(NU_HISR *hisr, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1052 VOID (*hisr_entry)(VOID), OPTION priority,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1053 VOID *stack_address, UNSIGNED stack_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1054 STATUS NU_Delete_HISR(NU_HISR *hisr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1055 NU_HISR *NU_Current_HISR_Pointer(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1056 UNSIGNED NU_Established_HISRs(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1057 STATUS NU_HISR_Information(NU_HISR *hisr, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1058 UNSIGNED *scheduled_count, DATA_ELEMENT *priority,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1059 VOID **stack_base, UNSIGNED *stack_size,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1060 UNSIGNED *minimum_stack);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1061 UNSIGNED NU_HISR_Pointers(NU_HISR **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1062 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1063 VOID NU_Protect(NU_PROTECT *protect_struct);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1064 VOID NU_Unprotect(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1065
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1066 /* Timer management functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1067
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1068 STATUS NU_Create_Timer(NU_TIMER *timer, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1069 VOID (*expiration_routine)(UNSIGNED), UNSIGNED id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1070 UNSIGNED initial_time, UNSIGNED reschedule_time,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1071 OPTION enable);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1072 STATUS NU_Delete_Timer(NU_TIMER *timer);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1073 STATUS NU_Reset_Timer(NU_TIMER *timer,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1074 VOID (*expiration_routine)(UNSIGNED),
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1075 UNSIGNED initial_time, UNSIGNED reschedule_timer,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1076 OPTION enable);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1077 STATUS NU_Control_Timer(NU_TIMER *timer, OPTION enable);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1078 UNSIGNED NU_Established_Timers(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1079 STATUS NU_Timer_Information(NU_TIMER *timer, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1080 OPTION *enable, UNSIGNED *expirations, UNSIGNED *id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1081 UNSIGNED *initial_time, UNSIGNED *reschedule_time);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1082 UNSIGNED NU_Timer_Pointers(NU_TIMER **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1083 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1084 VOID NU_Set_Clock(UNSIGNED new_value);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1085 UNSIGNED NU_Retrieve_Clock(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1086
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1087 /* Development support functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1088
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1089 CHAR *NU_Release_Information(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1090 CHAR *NU_License_Information(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1091 VOID NU_Disable_History_Saving(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1092 VOID NU_Enable_History_Saving(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1093 VOID NU_Make_History_Entry(UNSIGNED param1, UNSIGNED param2,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1094 UNSIGNED param3);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1095 STATUS NU_Retrieve_History_Entry(DATA_ELEMENT *id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1096 UNSIGNED *param1, UNSIGNED *param2, UNSIGNED *param3,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1097 UNSIGNED *time, NU_TASK **task, NU_HISR **hisr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1098
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1099 /* Input/Output Driver functions. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1100
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1101 STATUS NU_Create_Driver(NU_DRIVER *driver, CHAR *name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1102 VOID (*driver_entry)(NU_DRIVER *, NU_DRIVER_REQUEST *));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1103 STATUS NU_Delete_Driver(NU_DRIVER *driver);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1104 STATUS NU_Request_Driver(NU_DRIVER *driver,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1105 NU_DRIVER_REQUEST *request);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1106 STATUS NU_Resume_Driver(NU_TASK *task);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1107 STATUS NU_Suspend_Driver(VOID (*terminate_routine)(VOID *),
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1108 VOID *information, UNSIGNED timeout);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1109 UNSIGNED NU_Established_Drivers(VOID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1110 UNSIGNED NU_Driver_Pointers(NU_DRIVER **pointer_list,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1111 UNSIGNED maximum_pointers);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1112
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1113 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1114
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1115 #ifdef __cplusplus
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1116 } /* End of C declarations */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1117 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1118
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1119 #endif /* !NUCLEUS */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1120
|