source: rtems/cpukit/itron/macros/rtems/itron/task.inl @ 7afbca0

4.104.114.84.95
Last change on this file since 7afbca0 was 7afbca0, checked in by Joel Sherrill <joel.sherrill@…>, on 12/01/00 at 19:00:04

2000-12-01 Joel Sherrill <joel@…>

  • Added macro support to ITRON API. This is known to compile.
  • Makefile.am: Added macros directory.
  • configure.in: Removed error check for enabling macros.
  • macros/.cvsignore, macros/Makefile.am, macros/rtems/.cvsignore, macros/rtems/Makefile.am, macros/rtems/itron/.cvsignore, macros/rtems/itron/Makefile.am, macros/rtems/itron/eventflags.inl, macros/rtems/itron/fmempool.inl, macros/rtems/itron/intr.inl, macros/rtems/itron/mbox.inl, macros/rtems/itron/msgbuffer.inl, macros/rtems/itron/network.inl, macros/rtems/itron/port.inl, macros/rtems/itron/semaphore.inl, macros/rtems/itron/sysmgmt.inl, macros/rtems/itron/task.inl, macros/rtems/itron/time.inl, macros/rtems/itron/vmempool.inl: New files.
  • Property mode set to 100644
File size: 1.9 KB
Line 
1/*
2 *  COPYRIGHT (c) 1989-1999.
3 *  On-Line Applications Research Corporation (OAR).
4 *
5 *  The license and distribution terms for this file may be
6 *  found in the file LICENSE in this distribution or at
7 *  http://www.OARcorp.com/rtems/license.html.
8 *
9 *  $Id$
10 */
11
12#ifndef __ITRON_TASK_inl_
13#define __ITRON_TASK_inl_
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19/*
20 *  _ITRON_Task_Allocate
21 */
22
23#define _ITRON_Task_Allocate( _tskid ) \
24  (Thread_Control *)_ITRON_Objects_Allocate_by_index( \
25    &_ITRON_Task_Information, \
26    (_tskid), \
27    sizeof(Thread_Control) \
28  )
29
30/*
31 *  _ITRON_Task_Clarify_allocation_id_error
32 */
33
34#define _ITRON_Task_Clarify_allocation_id_error( _id ) \
35  _ITRON_Objects_Clarify_allocation_id_error( \
36      &_ITRON_Task_Information, (_id) )
37
38/*
39 *  _ITRON_Task_Clarify_get_id_error
40 */
41
42#define _ITRON_Task_Clarify_get_id_error( _id ) \
43 _ITRON_Objects_Clarify_get_id_error( &_ITRON_Task_Information, (_id) )
44
45/*
46 *  _ITRON_Task_Free
47 */
48
49#define _ITRON_Task_Free( _the_task ) \
50  _ITRON_Objects_Free( &_ITRON_Task_Information, &(_the_task)->Object )
51
52/*PAGE
53 *
54 *  _ITRON_Task_Get
55 */
56
57/* XXX fix me */
58static Thread_Control *_ITRON_Task_Get (
59  ID                 id,
60  Objects_Locations *location
61)
62{
63  if ( id == 0 ) {
64    _Thread_Disable_dispatch();
65    *location = OBJECTS_LOCAL;
66    return _Thread_Executing;
67  }
68
69  return (Thread_Control *)
70    _ITRON_Objects_Get( &_ITRON_Task_Information, id, location );
71}
72
73/*PAGE
74 *
75 *  _ITRON_Task_Is_null
76 */
77
78#define _ITRON_Task_Is_null( _the_task ) \
79  ( (_the_task) == NULL )
80
81/*PAGE
82 *
83 *  _ITRON_tasks_Priority_to_Core
84 */
85 
86#define _ITRON_Task_Priority_to_Core( _ITRON_priority ) \
87  ((Priority_Control) (_ITRON_priority))
88
89/*PAGE
90 *
91 *  _ITRON_tasks_Core_to_Priority
92 */
93 
94#define _ITRON_Task_Core_to_Priority( _core_priority ) \
95  ((PRI) (_core_priority))
96
97#ifdef __cplusplus
98}
99#endif
100
101#endif
102/* end of include file */
Note: See TracBrowser for help on using the repository browser.