include/nucleus/pod.h File Reference


Detailed Description

Real-time pod interface header.

Author:
Philippe Gerum
Copyright (C) 2001-2007 Philippe Gerum <rpm@xenomai.org>. Copyright (C) 2004 The RTAI project <http://www.rtai.org> Copyright (C) 2004 The HYADES project <http://www.hyades-itea.org> Copyright (C) 2004 The Xenomai project <http://www.xenomai.org>

Xenomai 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.

Xenomai 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 Xenomai; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Include dependency graph for pod.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  xnsched_t
 Scheduling information structure. More...
struct  xnpod
 Real-time pod descriptor. More...

Functions

void xnpod_schedule_runnable (xnthread_t *thread, int flags)
 Hidden rescheduling procedure.
int xnpod_init (void)
 Initialize the core pod.
int xnpod_enable_timesource (void)
 Activate the core time source.
void xnpod_disable_timesource (void)
 Stop the core time source.
void xnpod_shutdown (int xtype)
 Shutdown the current pod.
int xnpod_init_thread (xnthread_t *thread, xntbase_t *tbase, const char *name, int prio, xnflags_t flags, unsigned stacksize, xnthrops_t *ops)
 Initialize a new thread.
int xnpod_start_thread (xnthread_t *thread, xnflags_t mode, int imask, xnarch_cpumask_t affinity, void(*entry)(void *cookie), void *cookie)
 Initial start of a newly created thread.
void xnpod_restart_thread (xnthread_t *thread)
 Restart a thread.
void xnpod_delete_thread (xnthread_t *thread)
 Delete a thread.
void xnpod_abort_thread (xnthread_t *thread)
 Abort a thread.
xnflags_t xnpod_set_thread_mode (xnthread_t *thread, xnflags_t clrmask, xnflags_t setmask)
 Change a thread's control mode.
void xnpod_resume_thread (xnthread_t *thread, xnflags_t mask)
 Resume a thread.
int xnpod_unblock_thread (xnthread_t *thread)
 Unblock a thread.
void xnpod_renice_thread (xnthread_t *thread, int prio)
 Change the base priority of a thread.
int xnpod_migrate_thread (int cpu)
void xnpod_rotate_readyq (int prio)
 Rotate a priority level in the ready queue.
void xnpod_do_rr (void)
 Handle the round-robin scheduling policy.
void xnpod_schedule (void)
 Rescheduling procedure entry point.
void xnpod_dispatch_signals (void)
 Deliver pending asynchronous signals to the running thread.
void xnpod_activate_rr (xnticks_t quantum)
 Globally activate the round-robin scheduling.
void xnpod_deactivate_rr (void)
 Globally deactivate the round-robin scheduling.
int xnpod_set_thread_periodic (xnthread_t *thread, xnticks_t idate, xnticks_t period)
 Make a thread periodic.
int xnpod_wait_thread_period (unsigned long *overruns_r)
int xnpod_add_hook (int type, void(*routine)(xnthread_t *))
 Install a nucleus hook.
int xnpod_remove_hook (int type, void(*routine)(xnthread_t *))
 Remove a nucleus hook.


Generated on Mon Mar 24 18:02:40 2008 for Xenomai API by  doxygen 1.5.3