Copyright (C) 2005 Joerg Langenberg <joerg.langenberg@gmx.net>
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.
Functions | |
nanosecs_abs_t | rtdm_clock_read (void) |
nanosecs_abs_t | rtdm_clock_read_monotonic (void) |
int | rtdm_task_init (rtdm_task_t *task, const char *name, rtdm_task_proc_t task_proc, void *arg, int priority, nanosecs_rel_t period) |
void | rtdm_task_destroy (rtdm_task_t *task) |
void | rtdm_task_set_priority (rtdm_task_t *task, int priority) |
int | rtdm_task_set_period (rtdm_task_t *task, nanosecs_rel_t period) |
int | rtdm_task_wait_period (void) |
int | rtdm_task_unblock (rtdm_task_t *task) |
rtdm_task_t * | rtdm_task_current (void) |
int | rtdm_task_sleep (nanosecs_rel_t delay) |
int | rtdm_task_sleep_until (nanosecs_abs_t wakeup_time) |
int | rtdm_task_sleep_abs (nanosecs_abs_t wakeup_time, enum rtdm_timer_mode mode) |
void | rtdm_task_join_nrt (rtdm_task_t *task, unsigned int poll_delay) |
void | rtdm_task_busy_sleep (nanosecs_rel_t delay) |
int | rtdm_timer_init (rtdm_timer_t *timer, rtdm_timer_handler_t handler, const char *name) |
void | rtdm_timer_destroy (rtdm_timer_t *timer) |
int | rtdm_timer_start (rtdm_timer_t *timer, nanosecs_abs_t expiry, nanosecs_rel_t interval, enum rtdm_timer_mode mode) |
void | rtdm_timer_stop (rtdm_timer_t *timer) |
int | rtdm_timer_start_in_handler (rtdm_timer_t *timer, nanosecs_abs_t expiry, nanosecs_rel_t interval, enum rtdm_timer_mode mode) |
void | rtdm_timer_stop_in_handler (rtdm_timer_t *timer) |
int | rtdm_irq_request (rtdm_irq_t *irq_handle, unsigned int irq_no, rtdm_irq_handler_t handler, unsigned long flags, const char *device_name, void *arg) |
int | rtdm_irq_free (rtdm_irq_t *irq_handle) |
int | rtdm_irq_enable (rtdm_irq_t *irq_handle) |
int | rtdm_irq_disable (rtdm_irq_t *irq_handle) |
int | rtdm_nrtsig_init (rtdm_nrtsig_t *nrt_sig, rtdm_nrtsig_handler_t handler, void *arg) |
void | rtdm_nrtsig_destroy (rtdm_nrtsig_t *nrt_sig) |
void | rtdm_nrtsig_pend (rtdm_nrtsig_t *nrt_sig) |
Trigger non-real-time signal. | |
int | rtdm_mmap_to_user (rtdm_user_info_t *user_info, void *src_addr, size_t len, int prot, void **pptr, struct vm_operations_struct *vm_ops, void *vm_private_data) |
Map a kernel memory range into the address space of the user. | |
int | rtdm_iomap_to_user (rtdm_user_info_t *user_info, unsigned long src_addr, size_t len, int prot, void **pptr, struct vm_operations_struct *vm_ops, void *vm_private_data) |
Map an I/O memory range into the address space of the user. | |
int | rtdm_munmap (rtdm_user_info_t *user_info, void *ptr, size_t len) |
Unmap a user memory range. | |
void | rtdm_printk (const char *format,...) |
Real-time safe message printing on kernel console. | |
void * | rtdm_malloc (size_t size) |
Allocate memory block in real-time context. | |
void | rtdm_free (void *ptr) |
Release real-time memory block. | |
int | rtdm_read_user_ok (rtdm_user_info_t *user_info, const void __user *ptr, size_t size) |
Check if read access to user-space memory block is safe. | |
int | rtdm_rw_user_ok (rtdm_user_info_t *user_info, const void __user *ptr, size_t size) |
Check if read/write access to user-space memory block is safe. | |
int | rtdm_copy_from_user (rtdm_user_info_t *user_info, void *dst, const void __user *src, size_t size) |
Copy user-space memory block to specified buffer. | |
int | rtdm_safe_copy_from_user (rtdm_user_info_t *user_info, void *dst, const void __user *src, size_t size) |
Check if read access to user-space memory block and copy it to specified buffer. | |
int | rtdm_copy_to_user (rtdm_user_info_t *user_info, void __user *dst, const void *src, size_t size) |
Copy specified buffer to user-space memory block. | |
int | rtdm_safe_copy_to_user (rtdm_user_info_t *user_info, void __user *dst, const void *src, size_t size) |
Check if read/write access to user-space memory block is safe and copy specified buffer to it. | |
int | rtdm_strncpy_from_user (rtdm_user_info_t *user_info, char *dst, const char __user *src, size_t count) |
Copy user-space string to specified buffer. | |
int | rtdm_in_rt_context (void) |
Test if running in a real-time task. | |
Timeout Sequence Management | |
void | rtdm_toseq_init (rtdm_toseq_t *timeout_seq, nanosecs_rel_t timeout) |
Event Services | |
void | rtdm_event_init (rtdm_event_t *event, unsigned long pending) |
void | rtdm_event_destroy (rtdm_event_t *event) |
void | rtdm_event_pulse (rtdm_event_t *event) |
void | rtdm_event_signal (rtdm_event_t *event) |
int | rtdm_event_wait (rtdm_event_t *event) |
int | rtdm_event_timedwait (rtdm_event_t *event, nanosecs_rel_t timeout, rtdm_toseq_t *timeout_seq) |
void | rtdm_event_clear (rtdm_event_t *event) |
Semaphore Services | |
void | rtdm_sem_init (rtdm_sem_t *sem, unsigned long value) |
void | rtdm_sem_destroy (rtdm_sem_t *sem) |
int | rtdm_sem_down (rtdm_sem_t *sem) |
int | rtdm_sem_timeddown (rtdm_sem_t *sem, nanosecs_rel_t timeout, rtdm_toseq_t *timeout_seq) |
void | rtdm_sem_up (rtdm_sem_t *sem) |
Mutex Services | |
void | rtdm_mutex_init (rtdm_mutex_t *mutex) |
void | rtdm_mutex_destroy (rtdm_mutex_t *mutex) |
void | rtdm_mutex_unlock (rtdm_mutex_t *mutex) |
int | rtdm_mutex_lock (rtdm_mutex_t *mutex) |
int | rtdm_mutex_timedlock (rtdm_mutex_t *mutex, nanosecs_rel_t timeout, rtdm_toseq_t *timeout_seq) |