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