source: rtems/cpukit/itron/include/rtems/itron/task.h @ 20f78a3

4.104.114.84.95
Last change on this file since 20f78a3 was 20f78a3, checked in by Ralf Corsepius <ralf.corsepius@…>, on 03/23/04 at 13:13:17

2004-03-23 Ralf Corsepius <ralf_corsepius@…>

  • itron/include/itronsys/mbox.h, itron/include/itronsys/types.h, itron/include/rtems/itron/eventflags.h, itron/include/rtems/itron/fmempool.h, itron/include/rtems/itron/mbox.h, itron/include/rtems/itron/msgbuffer.h, itron/include/rtems/itron/port.h, itron/include/rtems/itron/semaphore.h, itron/include/rtems/itron/task.h, itron/include/rtems/itron/vmempool.h, itron/inline/rtems/itron/semaphore.inl, itron/macros/rtems/itron/semaphore.inl, itron/src/eventflags.c, itron/src/fmempool.c, itron/src/itronsem.c, itron/src/mbox.c, itron/src/msgbuffer.c, itron/src/port.c, itron/src/snd_mbx.c, itron/src/task.c, itron/src/trcv_mbx.c, itron/src/vmempool.c: Convert to using c99 fixed size types.
  • Property mode set to 100644
File size: 2.4 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.rtems.com/license/LICENSE.
8 *
9 *  $Id$
10 */
11
12#ifndef __RTEMS_ITRON_TASK_h_
13#define __RTEMS_ITRON_TASK_h_
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#include <rtems/itron/object.h>
20#include <rtems/itron/config.h>
21#include <rtems/score/thread.h>
22
23/*
24 *  This macro evaluates to TRUE if there should be a "context error."
25 *  This is defined as a blocking directive being issed from
26 *  task-independent portions or a task in dispatch disabled state.
27 *
28 *  NOTE: Dispatching is disabled in interrupts so this should cover
29 *        both cases.
30 */
31
32#define _ITRON_Is_in_non_task_state() \
33  (_Thread_Dispatch_disable_level != 0)
34 
35/*
36 *  This is the API specific information required by each thread for
37 *  the ITRON API to function correctly.
38 */
39
40
41typedef struct {
42  uint32_t                  unused;  /* no use for the API extension */
43                                     /*   structure for ITRON identified yet */
44}  ITRON_API_Control;
45
46/*
47 *  The following defines the information control block used to
48 *  manage this class of objects.
49 */
50
51ITRON_EXTERN Objects_Information _ITRON_Task_Information;
52
53/*
54 *  These are used to manage the user initialization tasks.
55 */
56
57ITRON_EXTERN itron_initialization_tasks_table
58               *_ITRON_Task_User_initialization_tasks;
59ITRON_EXTERN uint32_t     _ITRON_Task_Number_of_initialization_tasks;
60
61
62/*
63 *  _ITRON_Task_Manager_initialization
64 *
65 *  This routine initializes the ITRON Task Manager.
66 */
67
68void _ITRON_Task_Manager_initialization(
69  uint32_t                          maximum_tasks,
70  uint32_t                          number_of_initialization_tasks,
71  itron_initialization_tasks_table *user_tasks
72);
73
74/*
75 *
76 *  _ITRON_Delete_task
77 */
78
79ER _ITRON_Delete_task(
80  Thread_Control *the_thread
81);
82
83/* XXX remove the need for this.  Enable dispatch should not be hidden */
84
85#define _ITRON_return_errorno( _errno )                \
86do {                                                   \
87  _Thread_Enable_dispatch();                           \
88  return _errno;                                       \
89} while (0);
90
91
92#ifndef __RTEMS_APPLICATION__
93#include <rtems/itron/task.inl>
94#endif
95
96#ifdef __cplusplus
97}
98#endif
99
100#endif
101/* end of include file */
102
Note: See TracBrowser for help on using the repository browser.