Xenomai API  2.6.3
task.h File Reference

This file is part of the Xenomai project. More...

Include dependency graph for task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rt_task_info
 Structure containing task-information useful to users. More...
struct  rt_task_mcb
 Structure used in passing messages between tasks. More...

Macros

#define T_BLOCKED   XNPEND
 See XNPEND.
#define T_DELAYED   XNDELAY
 See XNDELAY.
#define T_READY   XNREADY
 See XNREADY.
#define T_DORMANT   XNDORMANT
 See XNDORMANT.
#define T_STARTED   XNSTARTED
 See XNSTARTED.
#define T_BOOST   XNBOOST
 See XNBOOST.
#define T_LOCK   XNLOCK
 See XNLOCK.
#define T_NOSIG   XNASDI
 See XNASDI.
#define T_WARNSW   XNTRAPSW
 See XNTRAPSW.
#define T_RPIOFF   XNRPIOFF
 See XNRPIOFF.

Typedefs

typedef struct rt_task_info RT_TASK_INFO
 Structure containing task-information useful to users.
typedef struct rt_task_mcb RT_TASK_MCB
 Structure used in passing messages between tasks.

Functions

int rt_task_shadow (RT_TASK *task, const char *name, int prio, int mode)
 Turns the current Linux task into a native Xenomai task.
int rt_task_bind (RT_TASK *task, const char *name, RTIME timeout)
 Bind to a real-time task.
static int rt_task_unbind (RT_TASK *task)
 Unbind from a real-time task.
int rt_task_join (RT_TASK *task)
 Wait on the termination of a real-time task.
int rt_task_create (RT_TASK *task, const char *name, int stksize, int prio, int mode) __deprecated_in_kernel__
 Create a new real-time task.
int rt_task_start (RT_TASK *task, void(*fun)(void *cookie), void *cookie)
 Start a real-time task.
int rt_task_suspend (RT_TASK *task)
 Suspend a real-time task.
int rt_task_resume (RT_TASK *task)
 Resume a real-time task.
int rt_task_delete (RT_TASK *task)
 Delete a real-time task.
int rt_task_yield (void)
 Manual round-robin.
int rt_task_set_periodic (RT_TASK *task, RTIME idate, RTIME period)
 Make a real-time task periodic.
int rt_task_wait_period (unsigned long *overruns_r)
 Wait for the next periodic release point.
int rt_task_set_priority (RT_TASK *task, int prio)
 Change the base priority of a real-time task.
int rt_task_sleep (RTIME delay)
 Delay the calling task (relative).
int rt_task_sleep_until (RTIME date)
 Delay the calling task (absolute).
int rt_task_unblock (RT_TASK *task)
 Unblock a real-time task.
int rt_task_inquire (RT_TASK *task, RT_TASK_INFO *info)
 Inquire about a real-time task.
int rt_task_notify (RT_TASK *task, rt_sigset_t sigs)
 Send signals to a task.
int rt_task_set_mode (int clrmask, int setmask, int *mode_r)
 Change task mode bits.
RT_TASK * rt_task_self (void)
 Retrieve the current task.
int rt_task_slice (RT_TASK *task, RTIME quantum)
 Set a task's round-robin quantum.
ssize_t rt_task_send (RT_TASK *task, RT_TASK_MCB *mcb_s, RT_TASK_MCB *mcb_r, RTIME timeout)
 Send a message to a task.
int rt_task_receive (RT_TASK_MCB *mcb_r, RTIME timeout)
 Receive a message from a task.
int rt_task_reply (int flowid, RT_TASK_MCB *mcb_s)
 Reply to a task.
static int rt_task_spawn (RT_TASK *task, const char *name, int stksize, int prio, int mode, void(*entry)(void *cookie), void *cookie)
 Spawn a new real-time task.
int rt_task_same (RT_TASK *task1, RT_TASK *task2)
 Compare two task descriptors.

Detailed Description

This file is part of the Xenomai project.

Note
Copyright (C) 2004 Philippe Gerum rpm@x.nosp@m.enom.nosp@m.ai.or.nosp@m.g

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Typedef Documentation

typedef struct rt_task_info RT_TASK_INFO

Structure containing task-information useful to users.

See Also
rt_task_inquire()
typedef struct rt_task_mcb RT_TASK_MCB

Structure used in passing messages between tasks.

See Also
rt_task_send(), rt_task_reply(), rt_task_receive()