ksrc/nucleus/pod.c File Reference


Detailed Description

Real-time pod services.

Author:
Philippe Gerum
Copyright (C) 2001,2002,2003,2004,2005 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) 2005 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.c:


Functions

int xnpod_init (void)
 Initialize the core pod.
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.
xnflags_t xnpod_set_thread_mode (xnthread_t *thread, xnflags_t clrmask, xnflags_t setmask)
 Change a thread's control mode.
void xnpod_delete_thread (xnthread_t *thread)
 Delete a thread.
void xnpod_abort_thread (xnthread_t *thread)
 Abort a thread.
void xnpod_suspend_thread (xnthread_t *thread, xnflags_t mask, xnticks_t timeout, xntmode_t timeout_mode, xnsynch_t *wchan)
 Suspend a thread.
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_activate_rr (xnticks_t quantum)
 Globally activate the round-robin scheduling.
void xnpod_deactivate_rr (void)
 Globally deactivate the round-robin scheduling.
void xnpod_dispatch_signals (void)
 Deliver pending asynchronous signals to the running thread.
void xnpod_welcome_thread (xnthread_t *thread, int imask)
 Thread prologue.
void xnpod_do_rr (void)
 Handle the round-robin scheduling policy.
static void xnpod_preempt_current_thread (xnsched_t *sched)
 Preempts the current thread.
void xnpod_schedule (void)
 Rescheduling procedure entry point.
void xnpod_schedule_runnable (xnthread_t *thread, int flags)
 Hidden rescheduling procedure.
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.
int xnpod_trap_fault (xnarch_fltinfo_t *fltinfo)
 Default fault handler.
int xnpod_enable_timesource (void)
 Activate the core time source.
void xnpod_disable_timesource (void)
 Stop the core time source.
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)

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