This commit is contained in:
parent
6355e8b5d4
commit
9b0309eacc
@ -16,9 +16,20 @@
|
|||||||
typedef struct ase_sll_t ase_sll_t;
|
typedef struct ase_sll_t ase_sll_t;
|
||||||
typedef struct ase_sll_node_t ase_sll_node_t;
|
typedef struct ase_sll_node_t ase_sll_node_t;
|
||||||
|
|
||||||
|
struct ase_sll_node_t
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
void* ptr; /* pointer to the beginning of data */
|
||||||
|
ase_size_t len; /* length of data in bytes */
|
||||||
|
} data;
|
||||||
|
|
||||||
|
ase_sll_node_t* next; /* pointer to the next node */
|
||||||
|
};
|
||||||
|
|
||||||
typedef void* (*ase_sll_copier_t) (ase_sll_t* sll, void* data, ase_size_t len);
|
typedef void* (*ase_sll_copier_t) (ase_sll_t* sll, void* data, ase_size_t len);
|
||||||
typedef void (*ase_sll_freeer_t) (ase_sll_t* sll, void* data, ase_size_t len);
|
typedef void (*ase_sll_freeer_t) (ase_sll_t* sll, void* data, ase_size_t len);
|
||||||
typedef int (*ase_sll_walker_t) (ase_sll_t* sll, void* data, ase_size_t len);
|
typedef int (*ase_sll_walker_t) (ase_sll_t* sll, ase_sll_node_t* node, void* arg);
|
||||||
|
|
||||||
#define ASE_SLL_COPIER_INLINE ase_sll_copyinline
|
#define ASE_SLL_COPIER_INLINE ase_sll_copyinline
|
||||||
|
|
||||||
@ -100,8 +111,16 @@ ase_size_t ase_sll_getsize (
|
|||||||
ase_sll_t* sll /* a singly linked list */
|
ase_sll_t* sll /* a singly linked list */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
ase_sll_node_t* ase_sll_gethead (
|
||||||
|
ase_sll_t* sll /* a singly linked list */
|
||||||
|
);
|
||||||
|
|
||||||
|
ase_sll_node_t* ase_sll_gettail (
|
||||||
|
ase_sll_t* sll /* a singly linked list */
|
||||||
|
);
|
||||||
|
|
||||||
/* Traverses s singly linked list */
|
/* Traverses s singly linked list */
|
||||||
void ase_sll_walk (ase_sll_t* sll, ase_sll_walker_t walker);
|
void ase_sll_walk (ase_sll_t* sll, ase_sll_walker_t walker, void* arg);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Causes a singly linked list to copy in data to a node.
|
* Causes a singly linked list to copy in data to a node.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user