base/ipc/tbx/tbx.c File Reference

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <asm/uaccess.h>
#include <rtai_registry.h>
#include <rtai_schedcore.h>
#include <rtai_tbx.h>

Include dependency graph for tbx.c:

Include dependency graph

Go to the source code of this file.

Functions

 MODULE_LICENSE ("GPL")
void enq_msg (RT_MSGQ *q, RT_MSGH *msg)
int rt_msgq_init (RT_MSGQ *mq, int nmsg, int msg_size)
int rt_msgq_delete (RT_MSGQ *mq)
RT_MSGQ_rt_named_msgq_init (unsigned long msgq_name, int nmsg, int msg_size)
int rt_named_msgq_delete (RT_MSGQ *msgq)
int _send (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, int space)
int _rt_msg_send (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, int space)
int _rt_msg_send_if (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, int space)
int _rt_msg_send_until (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, RTIME until, int space)
int _rt_msg_send_timed (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, RTIME delay, int space)
int _receive (RT_MSGQ *mq, void *msg, int msg_size, int *msgpri, int space)
int _rt_msg_receive (RT_MSGQ *mq, void *msg, int msg_size, int *msgpri, int space)
int _rt_msg_receive_if (RT_MSGQ *mq, void *msg, int msg_size, int *msgpri, int space)
int _rt_msg_receive_until (RT_MSGQ *mq, void *msg, int msg_size, int *msgpri, RTIME until, int space)
int _rt_msg_receive_timed (RT_MSGQ *mq, void *msg, int msg_size, int *msgpri, RTIME delay, int space)
int _rt_msg_evdrp (RT_MSGQ *mq, void *msg, int msg_size, int *msgpri, int space)
int _broadcast (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, int broadcast, int space)
int _rt_msg_broadcast (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, int space)
int _rt_msg_broadcast_if (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, int space)
int _rt_msg_broadcast_until (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, RTIME until, int space)
int _rt_msg_broadcast_timed (RT_MSGQ *mq, void *msg, int msg_size, int msgpri, RTIME delay, int space)
int set_rt_fun_entries (struct rt_native_fun_entry *entry)
void reset_rt_fun_entries (struct rt_native_fun_entry *entry)
int __rtai_msg_queue_init (void)
void __rtai_msg_queue_exit (void)
 module_init (__rtai_msg_queue_init)
 module_exit (__rtai_msg_queue_exit)
 EXPORT_SYMBOL (rt_msgq_init)
 EXPORT_SYMBOL (rt_msgq_delete)
 EXPORT_SYMBOL (_rt_named_msgq_init)
 EXPORT_SYMBOL (rt_named_msgq_delete)
 EXPORT_SYMBOL (_rt_msg_send)
 EXPORT_SYMBOL (_rt_msg_receive)
 EXPORT_SYMBOL (_rt_msg_broadcast)
 EXPORT_SYMBOL (_rt_msg_evdrp)

Variables

rt_native_fun_entry rt_msg_queue_entries []


Function Documentation

void __rtai_msg_queue_exit void   ) 
 

Definition at line 414 of file tbx.c.

References printk(), reset_rt_fun_entries(), and rt_msg_queue_entries.

Here is the call graph for this function:

int __rtai_msg_queue_init void   ) 
 

Definition at line 408 of file tbx.c.

References printk(), rt_msg_queue_entries, and set_rt_fun_entries().

Here is the call graph for this function:

int _broadcast RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
int  broadcast,
int  space
[static]
 

Definition at line 294 of file tbx.c.

References CNT_SEM, enq_msg(), flags, PRIO_Q, rt_malloc(), RT_MSGQ, rt_sem_signal(), rt_sem_wait_barrier(), rt_spin_lock_irqsave(), rt_spin_unlock_irqrestore, and rt_typed_sem_init().

Referenced by _rt_msg_broadcast(), _rt_msg_broadcast_if(), and _rt_msg_broadcast_until().

Here is the call graph for this function:

int _receive RT_MSGQ mq,
void *  msg,
int  msg_size,
int *  msgpri,
int  space
[static]
 

Definition at line 189 of file tbx.c.

References flags, rt_free(), RT_MSGQ, rt_sem_signal(), rt_sem_wait_barrier(), rt_spin_lock_irqsave(), and rt_spin_unlock_irqrestore.

Referenced by _rt_msg_receive(), _rt_msg_receive_if(), and _rt_msg_receive_until().

Here is the call graph for this function:

int _rt_msg_broadcast RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
int  space
 

Definition at line 331 of file tbx.c.

References _broadcast(), RT_MSGQ, rt_sem_signal(), rt_sem_wait(), and SEM_TIMOUT.

Here is the call graph for this function:

int _rt_msg_broadcast_if RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
int  space
 

Definition at line 347 of file tbx.c.

References _broadcast(), RT_MSGQ, rt_sem_signal(), and rt_sem_wait_if().

Here is the call graph for this function:

int _rt_msg_broadcast_timed RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
RTIME  delay,
int  space
 

Definition at line 379 of file tbx.c.

References _rt_msg_broadcast_until(), RT_MSGQ, and RTIME.

Here is the call graph for this function:

int _rt_msg_broadcast_until RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
RTIME  until,
int  space
 

Definition at line 363 of file tbx.c.

References _broadcast(), RT_MSGQ, rt_sem_signal(), rt_sem_wait_until(), RTIME, and SEM_TIMOUT.

Referenced by _rt_msg_broadcast_timed().

Here is the call graph for this function:

int _rt_msg_evdrp RT_MSGQ mq,
void *  msg,
int  msg_size,
int *  msgpri,
int  space
 

Definition at line 273 of file tbx.c.

References RT_MSGQ.

int _rt_msg_receive RT_MSGQ mq,
void *  msg,
int  msg_size,
int *  msgpri,
int  space
 

Definition at line 232 of file tbx.c.

References _receive(), RT_MSGQ, rt_sem_signal(), rt_sem_wait(), and SEM_TIMOUT.

Here is the call graph for this function:

int _rt_msg_receive_if RT_MSGQ mq,
void *  msg,
int  msg_size,
int *  msgpri,
int  space
 

Definition at line 244 of file tbx.c.

References _receive(), RT_MSGQ, rt_sem_signal(), and rt_sem_wait_if().

Here is the call graph for this function:

int _rt_msg_receive_timed RT_MSGQ mq,
void *  msg,
int  msg_size,
int *  msgpri,
RTIME  delay,
int  space
 

Definition at line 268 of file tbx.c.

References _rt_msg_receive_until(), RT_MSGQ, and RTIME.

Here is the call graph for this function:

int _rt_msg_receive_until RT_MSGQ mq,
void *  msg,
int  msg_size,
int *  msgpri,
RTIME  until,
int  space
 

Definition at line 256 of file tbx.c.

References _receive(), RT_MSGQ, rt_sem_signal(), rt_sem_wait_until(), RTIME, and SEM_TIMOUT.

Referenced by _rt_msg_receive_timed().

Here is the call graph for this function:

int _rt_msg_send RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
int  space
 

Definition at line 148 of file tbx.c.

References _send(), RT_MSGQ, rt_sem_signal(), rt_sem_wait(), and SEM_TIMOUT.

Here is the call graph for this function:

int _rt_msg_send_if RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
int  space
 

Definition at line 160 of file tbx.c.

References _send(), RT_MSGQ, rt_sem_signal(), and rt_sem_wait_if().

Here is the call graph for this function:

int _rt_msg_send_timed RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
RTIME  delay,
int  space
 

Definition at line 184 of file tbx.c.

References _rt_msg_send_until(), RT_MSGQ, and RTIME.

Here is the call graph for this function:

int _rt_msg_send_until RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
RTIME  until,
int  space
 

Definition at line 172 of file tbx.c.

References _send(), RT_MSGQ, rt_sem_signal(), rt_sem_wait_until(), RTIME, and SEM_TIMOUT.

Referenced by _rt_msg_send_timed().

Here is the call graph for this function:

RT_MSGQ* _rt_named_msgq_init unsigned long  msgq_name,
int  nmsg,
int  msg_size
 

Definition at line 81 of file tbx.c.

References IS_MBX, rt_free(), rt_get_adr_cnt(), rt_malloc(), RT_MSGQ, rt_msgq_delete(), rt_msgq_init(), and rt_register().

Here is the call graph for this function:

int _send RT_MSGQ mq,
void *  msg,
int  msg_size,
int  msgpri,
int  space
[static]
 

Definition at line 113 of file tbx.c.

References enq_msg(), flags, rt_malloc(), RT_MSGQ, rt_sem_signal(), rt_spin_lock_irqsave(), and rt_spin_unlock_irqrestore.

Referenced by _rt_msg_send(), _rt_msg_send_if(), and _rt_msg_send_until().

Here is the call graph for this function:

void enq_msg RT_MSGQ q,
RT_MSGH *  msg
[inline, static]
 

Definition at line 32 of file tbx.c.

References RT_MSGQ.

Referenced by _broadcast(), and _send().

EXPORT_SYMBOL _rt_msg_evdrp   ) 
 

EXPORT_SYMBOL _rt_msg_broadcast   ) 
 

EXPORT_SYMBOL _rt_msg_receive   ) 
 

EXPORT_SYMBOL _rt_msg_send   ) 
 

EXPORT_SYMBOL rt_named_msgq_delete   ) 
 

EXPORT_SYMBOL _rt_named_msgq_init   ) 
 

EXPORT_SYMBOL rt_msgq_delete   ) 
 

EXPORT_SYMBOL rt_msgq_init   ) 
 

module_exit __rtai_msg_queue_exit   ) 
 

module_init __rtai_msg_queue_init   ) 
 

MODULE_LICENSE "GPL"   ) 
 

int rt_msgq_delete RT_MSGQ mq  ) 
 

Definition at line 72 of file tbx.c.

References rt_free(), RT_MSGQ, and rt_sem_delete().

Referenced by _rt_named_msgq_init(), and rt_named_msgq_delete().

Here is the call graph for this function:

int rt_msgq_init RT_MSGQ mq,
int  nmsg,
int  msg_size
 

Definition at line 46 of file tbx.c.

References CNT_SEM, RES_SEM, rt_malloc(), RT_MSGQ, and rt_typed_sem_init().

Referenced by _rt_named_msgq_init().

Here is the call graph for this function:

int rt_named_msgq_delete RT_MSGQ msgq  ) 
 

Definition at line 99 of file tbx.c.

References rt_drg_on_adr_cnt(), rt_free(), RT_MSGQ, and rt_msgq_delete().

Here is the call graph for this function:


Variable Documentation

struct rt_native_fun_entry rt_msg_queue_entries[]
 

Initial value:

{ { { 0, rt_msgq_init }, MSGQ_INIT }, { { 1, rt_msgq_delete }, MSGQ_DELETE }, { { 0, _rt_named_msgq_init }, NAMED_MSGQ_INIT }, { { 1, rt_named_msgq_delete }, NAMED_MSGQ_DELETE }, { { 1, _rt_msg_send }, MSG_SEND }, { { 1, _rt_msg_send_if }, MSG_SEND_IF }, { { 1, _rt_msg_send_until }, MSG_SEND_UNTIL }, { { 1, _rt_msg_send_timed }, MSG_SEND_TIMED }, { { 1, _rt_msg_receive }, MSG_RECEIVE }, { { 1, _rt_msg_receive_if }, MSG_RECEIVE_IF }, { { 1, _rt_msg_receive_until }, MSG_RECEIVE_UNTIL }, { { 1, _rt_msg_receive_timed }, MSG_RECEIVE_TIMED }, { { 1, _rt_msg_broadcast }, MSG_BROADCAST }, { { 1, _rt_msg_broadcast_if }, MSG_BROADCAST_IF }, { { 1, _rt_msg_broadcast_until }, MSG_BROADCAST_UNTIL }, { { 1, _rt_msg_broadcast_timed }, MSG_BROADCAST_TIMED }, { { 1, _rt_msg_evdrp }, MSG_EVDRP }, { { 0, 0 }, 000 } }
Definition at line 384 of file tbx.c.

Referenced by __rtai_msg_queue_exit(), and __rtai_msg_queue_init().


Generated on Thu Nov 20 11:55:29 2008 for RTAI API by doxygen 1.3.8