BIRNET Interface Reference

/opt/src/beast/birnet/birnetcdefs.h

SYNOPSIS

DESCRIPTION

BirnetCPUInfo

/opt/src/beast/birnet/birnetcdefs.h:217
struct BirnetCPUInfo
{
  const char *machine;
  const char *cpu_vendor;
  uint        x86_fpu;
  uint        x86_ssesys;
  uint        x86_tsc;
  uint        x86_htt;
  uint        x86_mmx;
  uint        x86_mmxext;
  uint        x86_3dnow;
  uint        x86_3dnowext;
  uint        x86_sse;
  uint        x86_sse2;
  uint        x86_sse3;
  uint        x86_sse4;
};

BirnetInitSettings

/opt/src/beast/birnet/birnetcdefs.h:203
struct BirnetInitSettings
{
  bool stand_alone;
  bool test_quick;
  bool test_slow;
  bool test_perf;
};

BirnetInitValue

/opt/src/beast/birnet/birnetcdefs.h:210
struct BirnetInitValue
{
  const char *value_name;
  const char *value_string;
  long double value_num;
};

BirnetRecMutex

/opt/src/beast/birnet/birnetcdefs.h:264
struct BirnetRecMutex
{
  BirnetMutex   mutex;
  BirnetThread *owner;
  uint          depth;
};

BirnetThreadInfo

/opt/src/beast/birnet/birnetcdefs.h:239
struct BirnetThreadInfo
{
  int               thread_id;
  char             *name;
  uint              aborted;
  BirnetThreadState state;
  int               priority;
  int               processor;
  BirnetUInt64      utime;
  BirnetUInt64      stime;
  BirnetUInt64      cutime;
  BirnetUInt64      cstime;
};

BirnetThreadTable

/opt/src/beast/birnet/birnetcdefs.h:269
struct BirnetThreadTable
{
  void              (*mutex_chain4init)     (BirnetMutex*mutex);
  void              (*mutex_unchain)        (BirnetMutex*mutex);
  void              (*rec_mutex_chain4init) (BirnetRecMutex*mutex);
  void              (*rec_mutex_unchain)    (BirnetRecMutex*mutex);
  void              (*cond_chain4init)      (BirnetCond*cond);
  void              (*cond_unchain)         (BirnetCond*cond);
  void              (*atomic_pointer_set)   (volatile void*atomic, volatile void*value);
  void*             (*atomic_pointer_get)   (volatile void*atomic);
  int               (*atomic_pointer_cas)   (volatile void*atomic, volatile void*oldval, volatile void*newval);
  void              (*atomic_int_set)       (volatile int*atomic, int newval);
  int               (*atomic_int_get)       (volatile int*atomic);
  int               (*atomic_int_cas)       (volatile int*atomic, int oldval, int newval);
  void              (*atomic_int_add)       (volatile int*atomic, int diff);
  int               (*atomic_int_swap_add)  (volatile int*atomic, int diff);
  void              (*atomic_uint_set)      (volatile uint*atomic, uint newval);
  uint              (*atomic_uint_get)      (volatile uint*atomic);
  int               (*atomic_uint_cas)      (volatile uint*atomic, uint oldval, uint newval);
  void              (*atomic_uint_add)      (volatile uint*atomic, uint diff);
  uint              (*atomic_uint_swap_add) (volatile uint*atomic, uint diff);
  BirnetThread*     (*thread_new)           (const char*name);
  BirnetThread*     (*thread_ref)           (BirnetThread*thread);
  BirnetThread*     (*thread_ref_sink)      (BirnetThread*thread);
  void              (*thread_unref)         (BirnetThread*thread);
  bool              (*thread_start)         (BirnetThread*thread, BirnetThreadFunc func, void*user_data);
  BirnetThread*     (*thread_self)          (void);
  void*             (*thread_selfxx)        (void);
  void*             (*thread_getxx)         (BirnetThread*thread);
  bool              (*thread_setxx)         (BirnetThread*thread, void*xxdata);
  int               (*thread_pid)           (BirnetThread*thread);
  const char*       (*thread_name)          (BirnetThread*thread);
  void              (*thread_set_name)      (const char*newname);
  bool              (*thread_sleep)         (BirnetInt64 max_useconds);
  void              (*thread_wakeup)        (BirnetThread*thread);
  void              (*thread_awake_after)   (BirnetUInt64 stamp);
  void              (*thread_emit_wakeups)  (BirnetUInt64 wakeup_stamp);
  void              (*thread_set_wakeup)    (BirnetThreadWakeup wakeup_func, void*wakeup_data, void(*destroy_data)(void*));
  void              (*thread_abort)         (BirnetThread*thread);
  void              (*thread_queue_abort)   (BirnetThread*thread);
  bool              (*thread_aborted)       (void);
  bool              (*thread_get_aborted)   (BirnetThread*thread);
  bool              (*thread_get_running)   (BirnetThread*thread);
  void              (*thread_wait_for_exit) (BirnetThread*thread);
  void              (*thread_yield)         (void);
  void              (*thread_exit)          (void*retval) BIRNET_NORETURN;
  void              (*thread_set_handle)    (BirnetThread*handle);
  BirnetThread*     (*thread_get_handle)    (void);
  BirnetThreadInfo* (*info_collect)         (BirnetThread*thread);
  void              (*info_free)            (BirnetThreadInfo*info);
  void*             (*qdata_get)            (uint glib_quark);
  void              (*qdata_set)            (uint glib_quark, void*data, void(*destroy_data)(void*));
  void*             (*qdata_steal)          (uint glib_quark);
  void              (*mutex_init)           (BirnetMutex*mutex);
  void              (*mutex_lock)           (BirnetMutex*mutex);
  int               (*mutex_trylock)        (BirnetMutex*mutex);
  void              (*mutex_unlock)         (BirnetMutex*mutex);
  void              (*mutex_destroy)        (BirnetMutex*mutex);
  void              (*rec_mutex_init)       (BirnetRecMutex*mutex);
  void              (*rec_mutex_lock)       (BirnetRecMutex*mutex);
  int               (*rec_mutex_trylock)    (BirnetRecMutex*mutex);
  void              (*rec_mutex_unlock)     (BirnetRecMutex*mutex);
  void              (*rec_mutex_destroy)    (BirnetRecMutex*mutex);
  void              (*cond_init)            (BirnetCond*cond);
  void              (*cond_signal)          (BirnetCond*cond);
  void              (*cond_broadcast)       (BirnetCond*cond);
  void              (*cond_wait)            (BirnetCond*cond, BirnetMutex*mutex);
  void              (*cond_wait_timed)      (BirnetCond*cond, BirnetMutex*mutex, BirnetInt64 max_useconds);
  void              (*cond_destroy)         (BirnetCond*cond);
};

BIRNET_EXTERN_C_BEGIN

/opt/src/beast/birnet/birnetcdefs.h:27

BIRNET_EXTERN_C_END

/opt/src/beast/birnet/birnetcdefs.h:376

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:162

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:169

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:170

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:171

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:172

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:179

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:180

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:181

BIRNET_STATIC_ASSERT

/opt/src/beast/birnet/birnetcdefs.h:182

birnet_abort_noreturn

/opt/src/beast/birnet/birnetcdefs.h:365