Mercurial > ecos-v3_0-branch
annotate packages/compat/uitron/current/src/uit_objs.cxx @ 66:bf00f99aec69 ecos-sw-2000-02-02
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
| author | jlarmour |
|---|---|
| date | Wed, 02 Feb 2000 19:57:02 +0000 |
| parents | c38311975d4f |
| children | 511f4dc167f6 |
| rev | line source |
|---|---|
| 0 | 1 //=========================================================================== |
| 2 // | |
| 2 | 3 // uit_objs.cxx |
| 0 | 4 // |
| 2 | 5 // uITRON static objects |
| 0 | 6 // |
| 7 //=========================================================================== | |
| 8 //####COPYRIGHTBEGIN#### | |
|
64
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
9 // |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
10 // ------------------------------------------- |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
11 // The contents of this file are subject to the Red Hat eCos Public License |
|
66
bf00f99aec69
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents:
64
diff
changeset
|
12 // Version 1.1 (the "License"); you may not use this file except in |
|
64
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
13 // compliance with the License. You may obtain a copy of the License at |
|
66
bf00f99aec69
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents:
64
diff
changeset
|
14 // http://www.redhat.com/ |
|
64
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
15 // |
|
66
bf00f99aec69
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents:
64
diff
changeset
|
16 // Software distributed under the License is distributed on an "AS IS" |
|
64
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
17 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
18 // License for the specific language governing rights and limitations under |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
19 // the License. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
20 // |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
21 // The Original Code is eCos - Embedded Configurable Operating System, |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
22 // released September 30, 1998. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
23 // |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
24 // The Initial Developer of the Original Code is Red Hat. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
25 // Portions created by Red Hat are |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
26 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
27 // All Rights Reserved. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
28 // ------------------------------------------- |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
54
diff
changeset
|
29 // |
| 0 | 30 //####COPYRIGHTEND#### |
| 31 //=========================================================================== | |
| 32 //#####DESCRIPTIONBEGIN#### | |
| 33 // | |
| 2 | 34 // Author(s): hmt |
| 35 // Contributors: hmt | |
| 36 // Date: 1998-03-13 | |
| 37 // Purpose: uITRON static system objects | |
| 38 // Description: | |
| 0 | 39 // |
| 40 //####DESCRIPTIONEND#### | |
| 41 // | |
| 42 //=========================================================================== | |
| 43 | |
| 44 #include <pkgconf/uitron.h> // uITRON setup CYGNUM_UITRON_SEMAS | |
| 45 // CYGPKG_UITRON et al | |
| 46 | |
| 47 #ifdef CYGPKG_UITRON | |
| 48 | |
| 49 #include <cyg/compat/uitron/uit_objs.hxx> | |
| 50 // declarations of the objects | |
| 51 // we define below, and everything | |
| 52 // we need to specify them. | |
| 53 | |
| 2 | 54 #include <cyg/hal/hal_arch.h> // for CYGNUM_HAL_STACK_SIZE_TYPICAL |
| 55 | |
| 0 | 56 // ------------------------------------------------------------------------ |
| 57 // Mboxes have no initializer. | |
| 58 #ifdef CYGPKG_UITRON_MBOXES | |
| 59 #if 0 < CYGNUM_UITRON_MBOXES | |
| 2 | 60 Cyg_Mbox CYG_UITRON_DECL( MBOXES ); |
| 0 | 61 #ifdef CYGPKG_UITRON_MBOXES_CREATE_DELETE |
| 2 | 62 Cyg_Mbox *CYG_UITRON_DECL_PTRS( MBOXES ); |
| 0 | 63 #endif |
| 64 #endif | |
| 65 #endif // CYGPKG_UITRON_MBOXES | |
| 66 | |
| 67 // ------------------------------------------------------------------------ | |
| 68 // Flags have no initializer. | |
| 69 #ifdef CYGPKG_UITRON_FLAGS | |
| 70 #if 0 < CYGNUM_UITRON_FLAGS | |
| 2 | 71 Cyg_Flag CYG_UITRON_DECL( FLAGS ); |
| 0 | 72 #ifdef CYGPKG_UITRON_FLAGS_CREATE_DELETE |
| 2 | 73 Cyg_Flag *CYG_UITRON_DECL_PTRS( FLAGS ); |
| 0 | 74 #endif |
| 75 #endif | |
| 76 #endif // CYGPKG_UITRON_FLAGS | |
| 77 | |
| 78 // ------------------------------------------------------------------------ | |
| 79 // Semaphores have an optional initializer. | |
| 80 #ifdef CYGPKG_UITRON_SEMAS | |
| 81 #if (0 < CYGNUM_UITRON_SEMAS) || \ | |
| 82 defined( CYGDAT_UITRON_SEMA_INITIALIZERS ) | |
| 83 | |
| 84 #ifndef CYGNUM_UITRON_SEMAS | |
| 85 #error You must define CYGNUM_UITRON_SEMAS | |
| 86 #endif | |
| 87 | |
| 2 | 88 Cyg_Counting_Semaphore2 CYG_UITRON_DECL( SEMAS ) |
| 0 | 89 |
| 90 #ifdef CYGDAT_UITRON_SEMA_INITIALIZERS | |
| 91 // a Macro to ease the construction: | |
| 92 #define CYG_UIT_SEMA( _count_ ) Cyg_Counting_Semaphore2( (cyg_count32)(_count_) ) | |
| 93 #ifdef CYGPKG_UITRON_SEMAS_CREATE_DELETE | |
| 94 #define CYG_UIT_SEMA_NOEXS Cyg_Counting_Semaphore2( (cyg_count32) 0 ) | |
| 95 #endif | |
| 96 = { | |
| 97 CYGDAT_UITRON_SEMA_INITIALIZERS | |
| 98 } | |
| 99 #undef CYG_UIT_SEMA | |
| 100 #ifdef CYGPKG_UITRON_SEMAS_CREATE_DELETE | |
| 101 #undef CYG_UIT_SEMA_NOEXS | |
| 102 #endif | |
| 103 #endif // do we have initializers? | |
| 104 ; // the end of the declaration, with or without initializer | |
| 105 | |
| 106 #ifdef CYGPKG_UITRON_SEMAS_CREATE_DELETE | |
| 107 Cyg_Counting_Semaphore2 *CYG_UITRON_DECL_PTRS( SEMAS ); | |
| 108 #endif | |
| 109 #endif | |
| 110 #endif // CYGPKG_UITRON_SEMAS | |
| 111 | |
| 112 // ------------------------------------------------------------------------ | |
| 113 // tasks MUST be initialized, you must have some. | |
| 114 #ifndef CYGDAT_UITRON_TASK_EXTERNS | |
| 115 #error You must define CYGDAT_UITRON_TASK_EXTERNS | |
| 116 #endif | |
| 117 #ifndef CYGDAT_UITRON_TASK_INITIALIZERS | |
| 118 #error You must define CYGDAT_UITRON_TASK_INITIALIZERS | |
| 119 #endif | |
| 120 #ifndef CYGNUM_UITRON_TASKS | |
| 121 #error You must define CYGNUM_UITRON_TASKS | |
| 122 #endif | |
| 123 | |
| 124 // a Macro to ease the construction: | |
| 2 | 125 // "name", priority, proc, stackbase, stacksize |
| 0 | 126 #define CYG_UIT_TASK( _name_, _prio_, _func_, _sb_, _ss_ ) \ |
| 2 | 127 Cyg_Thread( \ |
| 128 (CYG_ADDRWORD)(_prio_), \ | |
| 129 (_func_), \ | |
| 130 (CYG_ADDRWORD)0, \ | |
| 131 _name_, \ | |
| 132 (CYG_ADDRESS)(_sb_), \ | |
| 0 | 133 (cyg_ucount32)(_ss_) ) |
| 134 | |
| 135 #ifdef CYGPKG_UITRON_TASKS_CREATE_DELETE | |
| 136 #define CYG_UIT_TASK_NOEXS( _name_, _sb_, _ss_ ) \ | |
| 2 | 137 Cyg_Thread( \ |
| 138 (CYG_ADDRWORD)(CYG_SCHED_DEFAULT_INFO), \ | |
| 139 (cyg_thread_entry *)(0), \ | |
| 140 (CYG_ADDRWORD)0, \ | |
| 141 _name_, \ | |
| 142 (CYG_ADDRESS)(_sb_), \ | |
| 0 | 143 (cyg_ucount32)(_ss_) ) |
| 144 #endif | |
| 145 | |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
2
diff
changeset
|
146 #ifdef CYGNUM_HAL_STACK_SIZE_MINIMUM |
| 2 | 147 # ifdef CYGNUM_UITRON_STACK_SIZE |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
2
diff
changeset
|
148 # if CYGNUM_UITRON_STACK_SIZE < CYGNUM_HAL_STACK_SIZE_MINIMUM |
| 2 | 149 |
| 150 // then override the configured stack size | |
| 151 # undef CYGNUM_UITRON_STACK_SIZE | |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
2
diff
changeset
|
152 # define CYGNUM_UITRON_STACK_SIZE CYGNUM_HAL_STACK_SIZE_MINIMUM |
| 2 | 153 |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
2
diff
changeset
|
154 # endif // CYGNUM_UITRON_STACK_SIZE < CYGNUM_HAL_STACK_SIZE_MINIMUM |
| 2 | 155 # endif // CYGNUM_UITRON_STACK_SIZE |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
2
diff
changeset
|
156 #endif // CYGNUM_HAL_STACK_SIZE_MINIMUM |
| 2 | 157 |
| 158 // declare the symbols used in the initializer | |
| 159 CYGDAT_UITRON_TASK_EXTERNS | |
| 160 | |
| 161 Cyg_Thread CYG_UITRON_DECL( TASKS ) = | |
| 0 | 162 { |
| 163 CYGDAT_UITRON_TASK_INITIALIZERS | |
| 164 }; | |
| 165 | |
| 166 #undef CYG_UIT_TASK | |
| 167 #ifdef CYGPKG_UITRON_TASKS_CREATE_DELETE | |
| 168 #undef CYG_UIT_TASK_NOEXS | |
| 169 #endif | |
| 170 | |
| 171 #ifdef CYGIMP_THREAD_PRIORITY | |
| 172 // An ancillary array of priorities, for managing the "original" prio | |
| 173 cyg_priority | |
| 174 cyg_uitron_task_initial_priorities[ CYG_UITRON_NUM( TASKS ) ]; | |
| 175 #endif | |
| 176 | |
| 177 #ifdef CYGPKG_UITRON_TASKS_CREATE_DELETE | |
| 2 | 178 Cyg_Thread *CYG_UITRON_DECL_PTRS( TASKS ); |
| 0 | 179 #endif |
| 180 | |
| 181 // ------------------------------------------------------------------------ | |
| 182 // fixed memory pools MUST be initialized, IF you have some. | |
| 183 #ifdef CYGPKG_UITRON_MEMPOOLFIXED | |
| 184 #if (0 < CYGNUM_UITRON_MEMPOOLFIXED) || \ | |
| 185 defined (CYGDAT_UITRON_MEMPOOLFIXED_INITIALIZERS) || \ | |
| 186 defined (CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS) | |
| 187 | |
| 188 #ifndef CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS | |
| 189 #error You must define CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS | |
| 190 #endif | |
| 191 #ifndef CYGDAT_UITRON_MEMPOOLFIXED_INITIALIZERS | |
| 192 #error You must define CYGDAT_UITRON_MEMPOOLFIXED_INITIALIZERS | |
| 193 #endif | |
| 194 #ifndef CYGNUM_UITRON_MEMPOOLFIXED | |
| 195 #error You must define CYGNUM_UITRON_MEMPOOLFIXED | |
| 196 #endif | |
| 197 | |
| 198 // declare the symbols used in the initializer | |
| 199 CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS | |
| 200 | |
| 201 // a Macro to ease the construction: addr, size, blocksize | |
| 202 #define CYG_UIT_MEMPOOLFIXED( _a_, _s_, _bs_ ) Cyg_Mempool_Fixed( \ | |
| 203 (cyg_uint8 *)(_a_), (cyg_int32)(_s_), (CYG_ADDRWORD)(_bs_) ) | |
| 204 #ifdef CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE | |
| 205 // note that this just picks a suitable size for the initialization, which | |
| 206 // should not be too inefficient | |
| 207 #define CYG_UIT_MEMPOOLFIXED_NOEXS( _a_, _s_ ) Cyg_Mempool_Fixed( \ | |
| 208 (cyg_uint8 *)(_a_), (cyg_int32)(_s_), (CYG_ADDRWORD) ((~7)&((_s_)/2)) ) | |
| 209 #endif | |
| 210 | |
| 2 | 211 Cyg_Mempool_Fixed CYG_UITRON_DECL( MEMPOOLFIXED ) = |
| 0 | 212 { |
| 213 CYGDAT_UITRON_MEMPOOLFIXED_INITIALIZERS | |
| 214 }; | |
| 215 #undef CYG_UIT_MEMPOOLFIXED | |
| 216 #ifdef CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE | |
| 217 #undef CYG_UIT_MEMPOOLFIXED_NOEXS | |
| 218 #endif | |
| 219 | |
| 220 #ifdef CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE | |
| 2 | 221 Cyg_Mempool_Fixed *CYG_UITRON_DECL_PTRS( MEMPOOLFIXED ); |
| 0 | 222 #endif |
| 223 #endif // do we have fixed memory pools at all? | |
| 224 #endif // CYGPKG_UITRON_MEMPOOLFIXED | |
| 225 | |
| 226 // ------------------------------------------------------------------------ | |
| 227 // variable memory pools MUST be initialized, IF you have some. | |
| 228 #ifdef CYGPKG_UITRON_MEMPOOLVAR | |
| 229 #if (0 < CYGNUM_UITRON_MEMPOOLVAR) || \ | |
| 230 defined (CYGDAT_UITRON_MEMPOOLVAR_INITIALIZERS) || \ | |
| 231 defined (CYGDAT_UITRON_MEMPOOLVAR_EXTERNS) | |
| 232 | |
| 233 #ifndef CYGDAT_UITRON_MEMPOOLVAR_EXTERNS | |
| 234 #error You must define CYGDAT_UITRON_MEMPOOLVAR_EXTERNS | |
| 235 #endif | |
| 236 #ifndef CYGDAT_UITRON_MEMPOOLVAR_INITIALIZERS | |
| 237 #error You must define CYGDAT_UITRON_MEMPOOLVAR_INITIALIZERS | |
| 238 #endif | |
| 239 #ifndef CYGNUM_UITRON_MEMPOOLVAR | |
| 240 #error You must define CYGNUM_UITRON_MEMPOOLVAR | |
| 241 #endif | |
| 242 | |
| 243 // declare the symbols used in the initializer | |
| 244 CYGDAT_UITRON_MEMPOOLVAR_EXTERNS | |
| 245 | |
| 246 // a Macro to ease the construction: addr, size | |
| 247 #define CYG_UIT_MEMPOOLVAR( _a_, _s_ ) Cyg_Mempool_Variable( \ | |
| 248 (cyg_uint8 *)(_a_),(cyg_int32)(_s_)) | |
| 249 #ifdef CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE | |
| 250 #define CYG_UIT_MEMPOOLVAR_NOEXS( _a_, _s_ ) Cyg_Mempool_Variable( \ | |
| 251 (cyg_uint8 *)(_a_),(cyg_int32)(_s_)) | |
| 252 #endif | |
| 253 | |
| 254 Cyg_Mempool_Variable CYG_UITRON_DECL( MEMPOOLVAR ) = | |
| 255 { | |
| 256 CYGDAT_UITRON_MEMPOOLVAR_INITIALIZERS | |
| 257 }; | |
| 258 #undef CYG_UIT_MEMPOOLVAR | |
| 259 #ifdef CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE | |
| 260 #undef CYG_UIT_MEMPOOLVAR_NOEXS | |
| 261 #endif | |
| 262 | |
| 263 #ifdef CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE | |
| 2 | 264 Cyg_Mempool_Variable *CYG_UITRON_DECL_PTRS( MEMPOOLVAR ); |
| 0 | 265 #endif |
| 266 #endif // do we have variable memory pools at all? | |
| 267 #endif // CYGPKG_UITRON_MEMPOOLVAR | |
| 268 | |
| 269 // ------------------------------------------------------------------------ | |
| 270 // Cyclic alarm handlers might be initialized, if you have some. | |
| 271 // | |
| 272 #ifdef CYGPKG_UITRON_CYCLICS | |
| 273 #if (0 < CYGNUM_UITRON_CYCLICS) || \ | |
| 274 defined( CYGDAT_UITRON_CYCLIC_EXTERNS ) || \ | |
| 275 defined( CYGDAT_UITRON_CYCLIC_INITIALIZERS ) | |
| 276 | |
| 277 #ifndef CYGNUM_UITRON_CYCLICS | |
| 278 #error You must define CYGNUM_UITRON_CYCLICS | |
| 279 #endif | |
| 280 | |
| 281 #if defined( CYGDAT_UITRON_CYCLIC_INITIALIZERS ) || \ | |
| 282 defined( CYGDAT_UITRON_CYCLIC_EXTERNS ) | |
| 283 | |
| 284 #ifndef CYGDAT_UITRON_CYCLIC_INITIALIZERS | |
| 285 #error You must define CYGDAT_UITRON_CYCLIC_INITIALIZERS | |
| 286 #endif | |
| 287 #ifndef CYGDAT_UITRON_CYCLIC_EXTERNS | |
| 288 #error You must define CYGDAT_UITRON_CYCLIC_EXTERNS | |
| 289 #endif | |
| 290 | |
| 291 // declare the symbols used in the initializer | |
| 292 CYGDAT_UITRON_CYCLIC_EXTERNS | |
| 293 | |
| 294 #endif // have externs or initializers | |
| 295 | |
| 2 | 296 Cyg_Timer CYG_UITRON_DECL( CYCLICS ) |
| 0 | 297 |
| 298 #ifdef CYGDAT_UITRON_CYCLIC_INITIALIZERS | |
| 299 | |
| 300 #error *** CYCLIC INITIALIZERS ARE NOT SUPPORTED IN THIS RELEASE*** | |
| 301 | |
| 302 // a Macro to ease the construction: proc, arg, time | |
| 303 #define CYG_UIT_CYCLIC( ... ) Cyg_Timer() | |
| 304 = { | |
| 305 CYGDAT_UITRON_CYCLIC_INITIALIZERS | |
| 306 } | |
| 307 #undef CYG_UIT_CYCLIC | |
| 308 #endif // do we have initializers? | |
| 309 ; // the end of the declaration, with or without initializer | |
| 310 | |
| 311 #endif // do we have cyclic alarms at all? | |
| 312 #endif // CYGPKG_UITRON_CYCLICS | |
| 313 | |
| 314 // ------------------------------------------------------------------------ | |
| 315 // Oneshot alarm handlers might be initialized, if you have some. | |
| 316 // | |
| 317 #ifdef CYGPKG_UITRON_ALARMS | |
| 318 #if (0 < CYGNUM_UITRON_ALARMS) || \ | |
| 319 defined( CYGDAT_UITRON_ALARM_EXTERNS ) || \ | |
| 320 defined( CYGDAT_UITRON_ALARM_INITIALIZERS ) | |
| 321 | |
| 322 #ifndef CYGNUM_UITRON_ALARMS | |
| 323 #error You must define CYGNUM_UITRON_ALARMS | |
| 324 #endif | |
| 325 | |
| 326 #if defined( CYGDAT_UITRON_ALARM_INITIALIZERS ) || \ | |
| 327 defined( CYGDAT_UITRON_ALARM_EXTERNS ) | |
| 328 | |
| 329 #ifndef CYGDAT_UITRON_ALARM_INITIALIZERS | |
| 330 #error You must define CYGDAT_UITRON_ALARM_INITIALIZERS | |
| 331 #endif | |
| 332 #ifndef CYGDAT_UITRON_ALARM_EXTERNS | |
| 333 #error You must define CYGDAT_UITRON_ALARM_EXTERNS | |
| 334 #endif | |
| 335 | |
| 336 // declare the symbols used in the initializer | |
| 337 CYGDAT_UITRON_ALARM_EXTERNS | |
| 338 | |
| 339 #endif // have externs or initializers | |
| 340 | |
| 2 | 341 Cyg_Timer CYG_UITRON_DECL( ALARMS ) |
| 0 | 342 |
| 343 #ifdef CYGDAT_UITRON_ALARM_INITIALIZERS | |
| 344 | |
| 345 #error *** ALARM INITIALIZERS ARE NOT SUPPORTED IN THIS RELEASE*** | |
| 346 | |
| 347 // a Macro to ease the construction: proc, arg, time | |
| 348 #define CYG_UIT_ALARM( ... ) Cyg_Timer() | |
| 349 = { | |
| 350 CYGDAT_UITRON_ALARM_INITIALIZERS | |
| 351 } | |
| 352 #undef CYG_UIT_ALARM | |
| 353 #endif // do we have initializers? | |
| 354 ; // the end of the declaration, with or without initializer | |
| 355 | |
| 356 #endif // do we have oneshot alarms at all? | |
| 357 #endif // CYGPKG_UITRON_ALARMS | |
| 358 | |
| 359 // ------------------------------------------------------------------------ | |
| 360 #endif // CYGPKG_UITRON | |
| 361 | |
| 362 // EOF uit_objs.cxx |
