Motr  M0
chan.h File Reference
#include "lib/tlist.h"
#include "lib/mutex.h"
#include "lib/time.h"
#include "lib/semaphore.h"
#include "addb2/histogram.h"
Include dependency graph for chan.h:

Go to the source code of this file.

Data Structures

struct  m0_chan
 
struct  m0_clink
 
struct  m0_chan_addb2
 

Macros

#define __MOTR_LIB_CHAN_H__
 

Typedefs

typedef bool(* m0_chan_cb_t) (struct m0_clink *link)
 

Functions

M0_INTERNAL void m0_chan_init (struct m0_chan *chan, struct m0_mutex *ch_guard)
 
M0_INTERNAL void m0_chan_fini (struct m0_chan *chan)
 
M0_INTERNAL void m0_chan_fini_lock (struct m0_chan *chan)
 
M0_INTERNAL void m0_chan_signal (struct m0_chan *chan)
 
M0_INTERNAL void m0_chan_signal_lock (struct m0_chan *chan)
 
M0_INTERNAL void m0_chan_broadcast (struct m0_chan *chan)
 
M0_INTERNAL void m0_chan_broadcast_lock (struct m0_chan *chan)
 
M0_INTERNAL void m0_clink_signal (struct m0_clink *clink)
 
M0_INTERNAL bool m0_chan_has_waiters (struct m0_chan *chan)
 
M0_INTERNAL void m0_clink_init (struct m0_clink *link, m0_chan_cb_t cb)
 
M0_INTERNAL void m0_clink_fini (struct m0_clink *link)
 
M0_INTERNAL void m0_clink_attach (struct m0_clink *link, struct m0_clink *group, m0_chan_cb_t cb)
 
M0_INTERNAL void m0_clink_add (struct m0_chan *chan, struct m0_clink *link)
 
M0_INTERNAL void m0_clink_del (struct m0_clink *link)
 
void m0_clink_add_lock (struct m0_chan *chan, struct m0_clink *link)
 
M0_INTERNAL void m0_clink_del_lock (struct m0_clink *link)
 
M0_INTERNAL bool m0_clink_is_armed (const struct m0_clink *link)
 
M0_INTERNAL void m0_clink_cleanup (struct m0_clink *link)
 
M0_INTERNAL void m0_clink_cleanup_locked (struct m0_clink *link)
 
M0_INTERNAL void m0_chan_wait (struct m0_clink *link)
 
M0_INTERNAL bool m0_chan_trywait (struct m0_clink *link)
 
M0_INTERNAL bool m0_chan_timedwait (struct m0_clink *link, const m0_time_t abs_timeout)
 
M0_INTERNAL void m0_chan_lock (struct m0_chan *ch)
 
M0_INTERNAL void m0_chan_unlock (struct m0_chan *ch)
 
M0_INTERNAL bool m0_chan_is_locked (const struct m0_chan *ch)
 

Variables

struct m0_chan M0_XCA_DOMAIN
 

Macro Definition Documentation

◆ __MOTR_LIB_CHAN_H__

#define __MOTR_LIB_CHAN_H__

Definition at line 26 of file chan.h.