OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [cpukit/] [itron/] [macros/] [rtems/] [itron/] [task.inl] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1026 ivang
/*
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
 *  task.inl,v 1.1 2000/12/01 19:00:04 joel Exp
10
 */
11
 
12
#ifndef __ITRON_TASK_inl_
13
#define __ITRON_TASK_inl_
14
 
15
#ifdef __cplusplus
16
extern "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 */
58
static 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 */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.