Motr  M0
list.c File Reference
#include "lib/trace.h"
#include "be/list.h"
#include "be/tx_credit.h"
#include "be/tx.h"
#include "lib/string.h"
Include dependency graph for list.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_BE
 

Enumerations

enum  { BE_LIST_POISON_BYTE = 0xCC }
 

Functions

static bool be_list_invariant (const struct m0_be_list *blist, const struct m0_be_list_descr *descr)
 
static bool be_tlink_invariant (const struct m0_be_list_link *link, const struct m0_be_list_descr *descr)
 
M0_INTERNAL void m0_be_list_credit (enum m0_be_list_op optype, m0_bcount_t nr, struct m0_be_tx_credit *accum)
 
static void be_list_capture (struct m0_be_list *blist, struct m0_be_tx *tx)
 
static void be_tlink_capture (struct m0_be_list_link *link, struct m0_be_tx *tx)
 
static struct m0_be_list_linkbe_list_obj2link (const void *obj, const struct m0_be_list_descr *descr)
 
static void * be_list_link2obj (struct m0_be_list_link *link, const struct m0_be_list_descr *descr)
 
M0_INTERNAL void m0_be_list_create (struct m0_be_list *blist, const struct m0_be_list_descr *descr, struct m0_be_tx *tx)
 
M0_INTERNAL void m0_be_list_destroy (struct m0_be_list *blist, const struct m0_be_list_descr *descr, struct m0_be_tx *tx)
 
M0_INTERNAL bool m0_be_list_is_empty (struct m0_be_list *blist, const struct m0_be_list_descr *descr)
 
M0_INTERNAL void m0_be_tlink_create (void *obj, const struct m0_be_list_descr *descr, struct m0_be_tx *tx)
 
M0_INTERNAL void m0_be_tlink_destroy (void *obj, const struct m0_be_list_descr *descr, struct m0_be_tx *tx)
 
static bool be_tlink_is_tail (struct m0_be_list *blist, struct m0_be_list_link *link)
 
static bool be_tlink_is_head (struct m0_be_list *blist, struct m0_be_list_link *link)
 
static bool be_tlink_is_in_list (struct m0_be_list_link *link)
 
M0_INTERNAL void * m0_be_list_tail (struct m0_be_list *blist, const struct m0_be_list_descr *descr)
 
M0_INTERNAL void * m0_be_list_head (struct m0_be_list *blist, const struct m0_be_list_descr *descr)
 
M0_INTERNAL void * m0_be_list_prev (struct m0_be_list *blist, const struct m0_be_list_descr *descr, const void *obj)
 
M0_INTERNAL void * m0_be_list_next (struct m0_be_list *blist, const struct m0_be_list_descr *descr, const void *obj)
 
M0_INTERNAL void m0_be_list_add (struct m0_be_list *blist, const struct m0_be_list_descr *descr, struct m0_be_tx *tx, void *obj)
 
M0_INTERNAL void m0_be_list_add_after (struct m0_be_list *blist, const struct m0_be_list_descr *descr, struct m0_be_tx *tx, void *obj, void *obj_new)
 
M0_INTERNAL void m0_be_list_add_before (struct m0_be_list *blist, const struct m0_be_list_descr *descr, struct m0_be_tx *tx, void *obj, void *obj_new)
 
M0_INTERNAL void m0_be_list_add_tail (struct m0_be_list *blist, const struct m0_be_list_descr *descr, struct m0_be_tx *tx, void *obj)
 
M0_INTERNAL void m0_be_list_del (struct m0_be_list *blist, const struct m0_be_list_descr *descr, struct m0_be_tx *tx, void *obj)
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_BE

Definition at line 23 of file list.c.