24#ifndef __M_LLIST_BIN_H__
25#define __M_LLIST_BIN_H__
29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
64struct M_llist_bin_node;
M_llist_bin_node_t * M_llist_bin_node_next(const M_llist_bin_node_t *n)
void M_llist_bin_destroy(M_llist_bin_t *d) M_FREE(1)
M_llist_bin_node_t * M_llist_bin_insert_before(M_llist_bin_node_t *n, const M_uint8 *val, size_t len)
M_uint8 * M_llist_bin_take_node(M_llist_bin_node_t *n, size_t *len)
const M_uint8 * M_llist_bin_node_val(const M_llist_bin_node_t *n, size_t *len)
size_t M_llist_bin_remove_val(M_llist_bin_t *d, const M_uint8 *val, size_t len, M_uint32 type)
M_llist_bin_node_t * M_llist_bin_insert_after(M_llist_bin_node_t *n, const M_uint8 *val, size_t len)
M_llist_bin_node_t * M_llist_bin_first(const M_llist_bin_t *d)
void M_llist_bin_remove_duplicates(M_llist_bin_t *d)
size_t M_llist_bin_count(const M_llist_bin_t *d, const M_uint8 *val, size_t len)
M_llist_bin_node_t * M_llist_bin_last(const M_llist_bin_t *d)
size_t M_llist_bin_len(const M_llist_bin_t *d)
void M_llist_bin_merge(M_llist_bin_t **dest, M_llist_bin_t *src, M_bool include_duplicates) M_FREE(2)
struct M_llist_bin M_llist_bin_t
Definition: m_llist_bin.h:62
M_llist_bin_t * M_llist_bin_create(M_uint32 flags) M_MALLOC
M_llist_bin_flags_t
Definition: m_llist_bin.h:72
M_bool M_llist_bin_remove_node(M_llist_bin_node_t *n)
void M_llist_bin_set_first(M_llist_bin_node_t *n)
M_llist_bin_t * M_llist_bin_duplicate(const M_llist_bin_t *d) M_MALLOC
M_bool M_llist_bin_move_after(M_llist_bin_node_t *move, M_llist_bin_node_t *after)
M_llist_bin_node_t * M_llist_bin_find(const M_llist_bin_t *d, const M_uint8 *val, size_t len)
M_llist_bin_node_t * M_llist_bin_node_prev(const M_llist_bin_node_t *n)
M_llist_bin_node_t * M_llist_bin_insert(M_llist_bin_t *d, const M_uint8 *val, size_t len)
struct M_llist_bin_node M_llist_bin_node_t
Definition: m_llist_bin.h:68
M_llist_bin_match_type_t
Definition: m_llist_bin.h:79
M_llist_bin_node_t * M_llist_bin_insert_first(M_llist_bin_t *d, const M_uint8 *val, size_t len)
M_bool M_llist_bin_move_before(M_llist_bin_node_t *move, M_llist_bin_node_t *before)
@ M_LLIST_BIN_NONE
Definition: m_llist_bin.h:73
@ M_LLIST_BIN_CIRCULAR
Definition: m_llist_bin.h:74
@ M_LLIST_BIN_MATCH_VAL
Definition: m_llist_bin.h:80
@ M_LLIST_BIN_MATCH_ALL
Definition: m_llist_bin.h:81