#include "vm_assert.h"
Go to the source code of this file.
Data Structures | |
struct | _slist_node_t |
struct | _slist_t |
struct | _dlist_node_t |
struct | _dlist_t |
Defines | |
#define | _snode_local_new(_n) slist_node_t _n = malloc(sizeof(struct _slist_node_t)) |
#define | snode_del free |
#define | _dnode_local_new(_n) dlist_node_t _n = malloc(sizeof(struct _dlist_node_t)) |
#define | dnode_del free |
#define | dlist_insert_head_node(_l, _n) |
#define | dlist_insert_head(_l, _v) |
#define | dlist_insert_tail_node(_l, _n) |
#define | dlist_insert_tail(_l, _v) |
#define | dlist_remove_head(_l) |
#define | dlist_remove_head_no_free(_l) |
#define | dlist_remove_tail(_l) |
#define | dlist_remove_tail_no_free(_l) |
#define | dlist_remove(_l, _n) |
#define | dlist_remove_no_free(_l, _n) |
#define | slist_insert_head(_l, _v) |
#define | slist_insert_tail(_l, _v) |
#define | slist_remove_head(_l) |
#define | list_head(_l) ((_l)->head) |
#define | list_tail(_l) ((_l)->tail) |
#define | node_next(_n) ((_n)->next) |
#define | node_prev(_n) ((_n)->prev) |
#define | node_value(_t, _n) ((_t)((_n)->value)) |
#define | list_is_empty(_l) ((_l)->head==NULL) |
#define | list_not_empty(_l) ((_l)->head!=NULL) |
#define | node_has_next(_n) ((_n)->next!=NULL) |
#define | node_has_prev(_n) ((_n)->prev!=NULL) |
#define | slist_forward(_l, _t, _f) |
#define | slist_flush(_l) |
#define | dlist_forward(_l, _t, _f) |
#define | dlist_reverse(_l, _t, _f) |
#define | slist_insert_sorted(_l, _n, _cmp) |
#define | dlist_flush(_l) |
#define | debug(_n) vm_printf("[%p]<- %p -> [%p]\n",(_n)->sched_data.prev,(_n),(_n)->sched_data.next) |
#define | dlist_insert_sorted(_l, _n, _cmp) |
Typedefs | |
typedef struct _slist_node_t * | slist_node_t |
typedef struct _slist_t * | slist_t |
typedef struct _dlist_node_t * | dlist_node_t |
typedef struct _dlist_t * | dlist_t |
Functions | |
void | slist_init (slist_t) |
slist_t | slist_new () |
void | slist_del (slist_t) |
void | dlist_init (dlist_t) |
dlist_t | dlist_new () |
void | dlist_del (dlist_t) |