rt_ipc2
Ipc primitives for real-time linux
Usage
#define MODULE #include <linux/module.h> #include <linux/kernel.h> #include <linux/version.h> #include <linux/errno.h> #include rt_ipc.h
int rt_task_ipc_init(RT_TASK_IPC * task, void (*fn)(int data), int data, int stack_size, int priority);
int rt_task_ipc_delete(RT_TASK_IPC * task);
int rt_sem_init(rt_sem_t *sem, RT_SEMTYPE type, int init_val);
int rt_sem_destroy(rt_sem_t *sem);
int rt_sem_post(rt_sem_t *sem);
int rt_sem_wait(rt_sem_t *sem);
int rt_sem_trywait(rt_sem_t *sem);
int rt_mq_init(rt_mq_t *mq, int max_msgs, int msg_size);
int rt_mq_destroy(rt_mq_t *mq);
int rt_mq_send(rt_mq_t *mq, char *msg, RT_MQ_PRIO prio, RTIME wait);
int rt_mq_receive(rt_mq_t *mq, char *msg, RTIME wait);
int rtf_ipc_create(unsigned int fifo, int size, int rtl_to_linux);
int rtf_ipc_destroy(unsigned int fifo);
int rtf_receive(unsigned int fifo, void *buf, int count, RTIME timeout);
int rtf_send(unsigned int fifo, void *buf, int count, RTIME timeout);
Overview
rt_ipc provides facilities for communication and synchronization among Real-Time Linux tasks. Semaphores (binary and counting) and message queues are provided. Also provided are fifos for communication between Real-Time Linux tasks and Linux processes. Timeouts are implemented in all primitives.