base/ipc/bits/bits.c File Reference

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/config.h>
#include <linux/version.h>
#include <asm/uaccess.h>
#include <rtai_schedcore.h>
#include <rtai_sched.h>
#include <rtai_lxrt.h>
#include <rtai_bits.h>
#include <rtai_registry.h>

Include dependency graph for bits.c:

Include dependency graph

Go to the source code of this file.

Defines

#define MASK0(x)   ((unsigned long *)&(x))[0]
#define MASK1(x)   ((unsigned long *)&(x))[1]
#define TEST_BUF(x, y)   do { (x)->retval = (unsigned long)(y); } while (0)
#define TEST_FUN(x)   ((long *)((unsigned long)(x)->retval))[0]
#define TEST_MASK(x)   ((unsigned long *)((unsigned long)(x)->retval))[1]

Functions

 MODULE_LICENSE ("GPL")
int all_set (BITS *bits, unsigned long mask)
int any_set (BITS *bits, unsigned long mask)
int all_clr (BITS *bits, unsigned long mask)
int any_clr (BITS *bits, unsigned long mask)
int all_set_and_any_set (BITS *bits, unsigned long masks)
int all_set_and_all_clr (BITS *bits, unsigned long masks)
int all_set_and_any_clr (BITS *bits, unsigned long masks)
int any_set_and_all_clr (BITS *bits, unsigned long masks)
int any_set_and_any_clr (BITS *bits, unsigned long masks)
int all_clr_and_any_clr (BITS *bits, unsigned long masks)
int all_set_or_any_set (BITS *bits, unsigned long masks)
int all_set_or_all_clr (BITS *bits, unsigned long masks)
int all_set_or_any_clr (BITS *bits, unsigned long masks)
int any_set_or_all_clr (BITS *bits, unsigned long masks)
int any_set_or_any_clr (BITS *bits, unsigned long masks)
int all_clr_or_any_clr (BITS *bits, unsigned long masks)
void set_bits (BITS *bits, unsigned long mask)
void clr_bits (BITS *bits, unsigned long mask)
void set_clr_bits (BITS *bits, unsigned long masks)
void nop_fun (BITS *bits, unsigned long mask)
void rt_bits_init (BITS *bits, unsigned long mask)
int rt_bits_delete (BITS *bits)
unsigned long rt_get_bits (BITS *bits)
int rt_bits_reset (BITS *bits, unsigned long mask)
unsigned long rt_bits_signal (BITS *bits, int setfun, unsigned long masks)
int _rt_bits_wait (BITS *bits, int testfun, unsigned long testmasks, int exitfun, unsigned long exitmasks, unsigned long *resulting_mask, int space)
int _rt_bits_wait_if (BITS *bits, int testfun, unsigned long testmasks, int exitfun, unsigned long exitmasks, unsigned long *resulting_mask, int space)
int _rt_bits_wait_until (BITS *bits, int testfun, unsigned long testmasks, int exitfun, unsigned long exitmasks, RTIME time, unsigned long *resulting_mask, int space)
int _rt_bits_wait_timed (BITS *bits, int testfun, unsigned long testmasks, int exitfun, unsigned long exitmasks, RTIME delay, unsigned long *resulting_mask, int space)
BITSrt_named_bits_init (const char *bits_name, unsigned long mask)
int rt_named_bits_delete (BITS *bits)
void * rt_bits_init_u (unsigned long name, unsigned long mask)
int rt_bits_delete_u (BITS *bits)
int set_rt_fun_entries (struct rt_native_fun_entry *entry)
void reset_rt_fun_entries (struct rt_native_fun_entry *entry)
int __rtai_bits_init (void)
void __rtai_bits_exit (void)
 module_init (__rtai_bits_init)
 module_exit (__rtai_bits_exit)
 EXPORT_SYMBOL (rt_bits_init)
 EXPORT_SYMBOL (rt_bits_delete)
 EXPORT_SYMBOL (rt_get_bits)
 EXPORT_SYMBOL (rt_bits_reset)
 EXPORT_SYMBOL (rt_bits_signal)
 EXPORT_SYMBOL (_rt_bits_wait)
 EXPORT_SYMBOL (rt_named_bits_init)
 EXPORT_SYMBOL (rt_named_bits_delete)

Variables

int(* test_fun [])(BITS *, unsigned long)=
void(* exec_fun [])(BITS *, unsigned long)=
rt_native_fun_entry rt_bits_entries []


Define Documentation

#define MASK0  )     ((unsigned long *)&(x))[0]
 

Definition at line 33 of file bits.c.

Referenced by all_clr_and_any_clr(), all_clr_or_any_clr(), all_set_and_all_clr(), all_set_and_any_clr(), all_set_and_any_set(), all_set_or_all_clr(), all_set_or_any_clr(), all_set_or_any_set(), any_set_and_all_clr(), any_set_and_any_clr(), any_set_or_all_clr(), any_set_or_any_clr(), and set_clr_bits().

#define MASK1  )     ((unsigned long *)&(x))[1]
 

Definition at line 34 of file bits.c.

Referenced by all_clr_and_any_clr(), all_clr_or_any_clr(), all_set_and_all_clr(), all_set_and_any_clr(), all_set_and_any_set(), all_set_or_all_clr(), all_set_or_any_clr(), all_set_or_any_set(), any_set_and_all_clr(), any_set_and_any_clr(), any_set_or_all_clr(), any_set_or_any_clr(), and set_clr_bits().

#define TEST_BUF x,
 )     do { (x)->retval = (unsigned long)(y); } while (0)
 

Definition at line 188 of file bits.c.

Referenced by _rt_bits_wait(), and _rt_bits_wait_until().

#define TEST_FUN  )     ((long *)((unsigned long)(x)->retval))[0]
 

Definition at line 189 of file bits.c.

Referenced by _rt_bits_wait(), _rt_bits_wait_until(), and rt_bits_signal().

#define TEST_MASK  )     ((unsigned long *)((unsigned long)(x)->retval))[1]
 

Definition at line 190 of file bits.c.

Referenced by _rt_bits_wait(), _rt_bits_wait_until(), and rt_bits_signal().


Function Documentation

void __rtai_bits_exit void   ) 
 

Definition at line 466 of file bits.c.

References reset_rt_fun_entries(), and rt_bits_entries.

Here is the call graph for this function:

int __rtai_bits_init void   ) 
 

Definition at line 461 of file bits.c.

References rt_bits_entries, and set_rt_fun_entries().

Here is the call graph for this function:

int _rt_bits_wait BITS bits,
int  testfun,
unsigned long  testmasks,
int  exitfun,
unsigned long  exitmasks,
unsigned long *  resulting_mask,
int  space
 

Definition at line 261 of file bits.c.

References BITS, BITS_ERR, enqueue_blocked(), exec_fun, flags, RT_BITS_MAGIC, RT_SCHED_SEMAPHORE, rt_schedule(), RT_TASK, TEST_BUF, TEST_FUN, test_fun, and TEST_MASK.

Here is the call graph for this function:

int _rt_bits_wait_if BITS bits,
int  testfun,
unsigned long  testmasks,
int  exitfun,
unsigned long  exitmasks,
unsigned long *  resulting_mask,
int  space
 

Definition at line 302 of file bits.c.

References BITS, BITS_ERR, exec_fun, flags, RT_BITS_MAGIC, and test_fun.

int _rt_bits_wait_timed BITS bits,
int  testfun,
unsigned long  testmasks,
int  exitfun,
unsigned long  exitmasks,
RTIME  delay,
unsigned long *  resulting_mask,
int  space
 

Definition at line 379 of file bits.c.

References _rt_bits_wait_until(), BITS, and RTIME.

Here is the call graph for this function:

int _rt_bits_wait_until BITS bits,
int  testfun,
unsigned long  testmasks,
int  exitfun,
unsigned long  exitmasks,
RTIME  time,
unsigned long *  resulting_mask,
int  space
 

Definition at line 328 of file bits.c.

References BITS, BITS_ERR, BITS_TIMOUT, dequeue_blocked(), enqueue_blocked(), exec_fun, flags, RT_BITS_MAGIC, RT_SCHED_DELAYED, RT_SCHED_SEMAPHORE, rt_schedule(), RT_TASK, RTIME, TEST_BUF, TEST_FUN, test_fun, and TEST_MASK.

Referenced by _rt_bits_wait_timed().

Here is the call graph for this function:

int all_clr BITS bits,
unsigned long  mask
[static]
 

Definition at line 46 of file bits.c.

References BITS.

int all_clr_and_any_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 81 of file bits.c.

References BITS, MASK0, and MASK1.

int all_clr_or_any_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 111 of file bits.c.

References BITS, MASK0, and MASK1.

int all_set BITS bits,
unsigned long  mask
[static]
 

Definition at line 36 of file bits.c.

References BITS.

int all_set_and_all_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 61 of file bits.c.

References BITS, MASK0, and MASK1.

int all_set_and_any_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 66 of file bits.c.

References BITS, MASK0, and MASK1.

int all_set_and_any_set BITS bits,
unsigned long  masks
[static]
 

Definition at line 56 of file bits.c.

References BITS, MASK0, and MASK1.

int all_set_or_all_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 91 of file bits.c.

References BITS, MASK0, and MASK1.

int all_set_or_any_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 96 of file bits.c.

References BITS, MASK0, and MASK1.

int all_set_or_any_set BITS bits,
unsigned long  masks
[static]
 

Definition at line 86 of file bits.c.

References BITS, MASK0, and MASK1.

int any_clr BITS bits,
unsigned long  mask
[static]
 

Definition at line 51 of file bits.c.

References BITS.

int any_set BITS bits,
unsigned long  mask
[static]
 

Definition at line 41 of file bits.c.

References BITS.

int any_set_and_all_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 71 of file bits.c.

References BITS, MASK0, and MASK1.

int any_set_and_any_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 76 of file bits.c.

References BITS, MASK0, and MASK1.

int any_set_or_all_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 101 of file bits.c.

References BITS, MASK0, and MASK1.

int any_set_or_any_clr BITS bits,
unsigned long  masks
[static]
 

Definition at line 106 of file bits.c.

References BITS, MASK0, and MASK1.

void clr_bits BITS bits,
unsigned long  mask
[static]
 

Definition at line 121 of file bits.c.

References BITS.

EXPORT_SYMBOL rt_named_bits_delete   ) 
 

EXPORT_SYMBOL rt_named_bits_init   ) 
 

EXPORT_SYMBOL _rt_bits_wait   ) 
 

EXPORT_SYMBOL rt_bits_signal   ) 
 

EXPORT_SYMBOL rt_bits_reset   ) 
 

EXPORT_SYMBOL rt_get_bits   ) 
 

EXPORT_SYMBOL rt_bits_delete   ) 
 

EXPORT_SYMBOL rt_bits_init   ) 
 

module_exit __rtai_bits_exit   ) 
 

module_init __rtai_bits_init   ) 
 

MODULE_LICENSE "GPL"   ) 
 

void nop_fun BITS bits,
unsigned long  mask
[static]
 

Definition at line 131 of file bits.c.

References BITS.

void reset_rt_fun_entries struct rt_native_fun_entry *  entry  ) 
 

Definition at line 1543 of file sched.c.

int rt_bits_delete BITS bits  ) 
 

Definition at line 160 of file bits.c.

References BITS, BITS_ERR, flags, RT_BITS_MAGIC, RT_SCHED_DELAYED, RT_SCHED_READY, RT_SCHED_SEMAPHORE, RT_TASK, and task.

Referenced by rt_bits_delete_u(), rt_named_bits_delete(), and rt_named_bits_init().

int rt_bits_delete_u BITS bits  ) 
 

Definition at line 432 of file bits.c.

References BITS, rt_bits_delete(), rt_drg_on_adr(), and rt_free().

Here is the call graph for this function:

void rt_bits_init BITS bits,
unsigned long  mask
 

Definition at line 151 of file bits.c.

References BITS, and RT_BITS_MAGIC.

Referenced by rt_bits_init_u(), and rt_named_bits_init().

void* rt_bits_init_u unsigned long  name,
unsigned long  mask
 

Definition at line 415 of file bits.c.

References BITS, IS_BIT, rt_bits_init(), rt_free(), rt_get_adr(), rt_malloc(), and rt_register().

Here is the call graph for this function:

int rt_bits_reset BITS bits,
unsigned long  mask
 

Definition at line 197 of file bits.c.

References BITS, BITS_ERR, dequeue_blocked(), flags, RT_BITS_MAGIC, RT_SCHED_DELAYED, RT_SCHED_READY, RT_SCHED_SEMAPHORE, RT_TASK, and task.

Here is the call graph for this function:

unsigned long rt_bits_signal BITS bits,
int  setfun,
unsigned long  masks
 

Definition at line 228 of file bits.c.

References BITS, BITS_ERR, dequeue_blocked(), exec_fun, flags, RT_BITS_MAGIC, RT_SCHED_DELAYED, RT_SCHED_READY, RT_SCHED_SEMAPHORE, RT_TASK, task, TEST_FUN, test_fun, and TEST_MASK.

Here is the call graph for this function:

unsigned long rt_get_bits BITS bits  ) 
 

Definition at line 192 of file bits.c.

References BITS.

int rt_named_bits_delete BITS bits  ) 
 

Definition at line 407 of file bits.c.

References BITS, rt_bits_delete(), rt_drg_on_adr(), and rt_free().

Here is the call graph for this function:

BITS* rt_named_bits_init const char *  bits_name,
unsigned long  mask
 

Definition at line 388 of file bits.c.

References BITS, IS_BIT, nam2num(), rt_bits_delete(), rt_bits_init(), rt_free(), rt_get_adr(), rt_malloc(), rt_register(), and SEM.

Here is the call graph for this function:

void set_bits BITS bits,
unsigned long  mask
[static]
 

Definition at line 116 of file bits.c.

References BITS.

void set_clr_bits BITS bits,
unsigned long  masks
[static]
 

Definition at line 126 of file bits.c.

References BITS, MASK0, and MASK1.

int set_rt_fun_entries struct rt_native_fun_entry *  entry  ) 
 

Definition at line 1555 of file sched.c.


Variable Documentation

void(* exec_fun[])(BITS *, unsigned long)= [static]
 

Definition at line 145 of file bits.c.

Referenced by _rt_bits_wait(), _rt_bits_wait_if(), _rt_bits_wait_until(), and rt_bits_signal().

struct rt_native_fun_entry rt_bits_entries[]
 

Initial value:

Definition at line 443 of file bits.c.

Referenced by __rtai_bits_exit(), and __rtai_bits_init().

int(* test_fun[])(BITS *, unsigned long)= [static]
 

Definition at line 135 of file bits.c.

Referenced by _rt_bits_wait(), _rt_bits_wait_if(), _rt_bits_wait_until(), and rt_bits_signal().


Generated on Thu Nov 20 11:54:22 2008 for RTAI API by doxygen 1.3.8