VSF Documented
|
#include "../compiler/compiler.h"
Go to the source code of this file.
Data Structures | |
struct | vsf_slist_t |
struct | vsf_slist_node_t |
struct | vsf_dlist_t |
struct | vsf_dlist_node_t |
struct | vsf_slist_queue_t |
Macros | |
#define | __vsf_when(__cond) (__cond) |
#define | vsf_when(__cond) __vsf_when(__cond) |
#define | __vsf_list_tmp_name(__head) VSF_MCONNECT2(__head, __LINE__) |
#define | __vsf_slist_is_empty(__list_ptr) (NULL == ((vsf_slist_t *)(__list_ptr))->head) |
#define | __vsf_slist_set_next(__node_ptr, __item_next_ptr) |
#define | __vsf_slist_ref_next(__node_ptr, __item_ref_ptr) |
#define | __vsf_slist_insert_next(__host_type, __member, __node_ptr, __item_ptr) |
#define | __vsf_slist_remove_next_unsafe(__host_type, __member, __node_ptr, __item_ref_ptr) |
#define | __vsf_slist_insert_after( __host_type, __member, __item_ptr, __item_new_ptr) |
#define | __vsf_slist_remove_after( __host_type, __member, __item_ptr, __item_ref_ptr) |
#define | __vsf_slist_insert( __host_type, __member, __list_ptr, __item_ptr, __cond) |
#define | __vsf_slist_foreach_unsafe( __host_type, __member, __list_ptr) |
#define | __vsf_slist_foreach_next_unsafe( __host_type, __member, __list_ptr) |
#define | __vsf_slist_foreach(__host_type, __member, __list_ptr, __item_ptr) |
#define | __vsf_slist_discard_head(__host_type, __member, __list_ptr) |
#define | __vsf_slist_queue_init(__queue_ptr) |
#define | __vsf_slist_queue_enqueue(__host_type, __member, __queue_ptr, __item_ptr) |
#define | __vsf_slist_queue_dequeue( __host_type, __member, __queue_ptr, __item_ref_ptr) |
#define | __vsf_slist_queue_is_in(__host_type, __member, __queue_ptr, __item_ptr) vsf_slist_is_in(__host_type, __member, (vsf_slist_t *)&(__queue_ptr)->head, (__item_ptr)) |
#define | __vsf_slist_queue_peek(__host_type, __member, __queue_ptr, __item_ref_ptr) __vsf_slist_ref_next(&((__queue_ptr)->head), (__item_ref_ptr)); |
#define | __vsf_slist_queue_add_to_head( __host_type, __member, __queue_ptr, __item_ptr) |
#define | __vsf_dlist_init(__list_ptr) |
#define | __vsf_dlist_init_node(__node_ptr) |
#define | __vsf_dlist_get_host(__host_type, __member, __node_ptr) vsf_container_of((__node_ptr), __host_type, __member) |
#define | __vsf_dlist_get_host_safe(__host_type, __member, __node_ptr) vsf_safe_container_of((__node_ptr), __host_type, __member) |
#define | __vsf_dlist_is_empty(__list_ptr) ((__list_ptr)->head == NULL) |
#define | __vsf_dlist_is_in(__list_ptr, __node_ptr) __vsf_dlist_is_in_imp((__list_ptr), (__node_ptr)) |
#define | __vsf_dlist_ref(__host_type, __member, __node_ptr, __item_ref_ptr) |
#define | __vsf_dlist_ref_safe(__host_type, __member, __node_ptr, __item_ref_ptr) |
#define | __vsf_dlist_add_to_head(__host_type, __member, __list_ptr, __item_ptr) __vsf_dlist_add_to_head_imp((__list_ptr), &((__item_ptr)->__member)) |
#define | __vsf_dlist_add_to_tail(__host_type, __member, __list_ptr, __item_ptr) __vsf_dlist_add_to_tail_imp((__list_ptr), &((__item_ptr)->__member)) |
#define | __vsf_dlist_peek_next(__host_type, __member, __item_ptr, __item_ref_ptr) |
#define | __vsf_dlist_peek_head(__host_type, __member, __list_ptr, __item_ref_ptr) |
#define | __vsf_dlist_remove_head(__host_type, __member, __list_ptr, __item_ref_ptr) |
#define | __vsf_dlist_remove_tail(__host_type, __member, __list_ptr, __item_ref_ptr) |
#define | __vsf_dlist_insert_after( __host_type, __member, __list_ptr, __item_prv_ptr, __item_ptr) |
#define | __vsf_dlist_insert_before( __host_type, __member, __list_ptr, __item_next_ptr, __item_ptr) |
#define | __vsf_dlist_remove(__host_type, __member, __list_ptr, __item_ptr) __vsf_dlist_remove_imp((__list_ptr), &((__item_ptr)->__member)) |
#define | __vsf_dlist_remove_after( __host_type, __member, __list_ptr, __node_ptr, __item_ref_ptr) |
#define | __vsf_dlist_remove_before( __host_type, __member, __list_ptr, __node_ptr, __item_ref_ptr) |
#define | __vsf_dlist_insert( __host_type, __member, __list_ptr, __item_ptr, __cond) |
#define | __vsf_dlist_foreach_unsafe( __host_type, __member, __list_ptr) |
#define | __vsf_dlist_foreach_next_unsafe( __host_type, __member, __list_ptr) |
list normal access | |
#define | vsf_slist_init(__list_ptr) |
#define | vsf_slist_is_empty(__list_ptr) |
#define | vsf_slist_set_next(__host_type, __member, __node_ptr, __item_ptr) |
#define | vsf_slist_get_length( __host_type, __member, __list_ptr) |
#define | vsf_slist_remove_tail( __host_type, __member, __list_ptr) |
#define | vsf_slist_get_item_by_index( __host_type, __member, __list_ptr, __index) |
#define | vsf_slist_get_index( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_slist_append( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_slist_is_in( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_slist_init_node(__host_type, __member, __item_ptr) |
#define | vsf_slist_remove( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_slist_insert(__host_type, __member, __list_ptr, __item_ptr, __cond) |
#define | vsf_slist_remove_after(__host_type, __member, __item_ptr, __item_ref_ptr) |
#define | vsf_slist_insert_after(__host_type, __member, __item_ptr, __item_new_ptr) |
stack / stack-like operations using list | |
#define | vsf_slist_stack_init(__list_ptr) vsf_slist_init_node(__list_ptr) |
#define | vsf_slist_stack_pop(__host_type, __member, __list_ptr, __item_ref_ptr) |
#define | vsf_slist_stack_push( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_slist_add_to_head( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_slist_discard_head(__host_type, __member, __list_ptr) |
#define | vsf_slist_remove_from_head_unsafe( __host_type, __member, __list_ptr, __item_ref_ptr) |
#define | vsf_slist_remove_from_head( __host_type, __member, __list_ptr, __item_ref_ptr) |
#define | vsf_slist_remove_head vsf_slist_remove_from_head |
#define | vsf_slist_peek_next(__host_type, __member, __node_ptr, __item_ref_ptr) |
list enumeration access | |
#define | vsf_slist_foreach( __host_type, __member, __list_ptr, __item_ptr) |
queue / queue-like operations using slist | |
#define | vsf_slist_queue_is_empty(__queue_ptr) vsf_slist_is_empty(&(__queue_ptr)->head) |
#define | vsf_slist_queue_init(__queue_ptr) __vsf_slist_queue_init((__queue_ptr))/* the address of the queue */ |
#define | vsf_slist_queue_enqueue(__host_type, __member, __queue_ptr, __item_ptr) |
#define | vsf_slist_queue_dequeue(__host_type, __member, __queue_ptr, __item_ref_ptr) |
#define | vsf_slist_queue_is_in( __host_type, __member, __queue_ptr, __item_ptr) |
#define | vsf_slist_queue_peek( __host_type, __member, __queue_ptr, __item_ref_ptr) |
#define | vsf_slist_queue_add_to_head( __host_type, __member, __queue_ptr, __item_ptr) |
dual-way linked list normal access | |
#define | vsf_dlist_init(__list_ptr) |
#define | vsf_dlist_is_empty(__list_ptr) |
#define | vsf_dlist_get_length( __list_ptr) |
#define | vsf_dlist_is_in( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_dlist_init_node( __host_type, __member, __item_ptr) |
#define | vsf_dlist_add_to_head( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_dlist_add_to_tail( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_dlist_peek_head( __host_type, __member, __list_ptr, __item_ref_ptr) |
#define | vsf_dlist_peek_next( __host_type, __member, __item_ptr, __item_ref_ptr) |
#define | vsf_dlist_remove_head( __host_type, __member, __list_ptr, __item_ref_ptr) |
#define | vsf_dlist_remove_tail( __host_type, __member, __list_ptr, __item_ref_ptr) |
#define | vsf_dlist_insert( __host_type, __member, __list_ptr, __item_ptr, __cond) |
#define | vsf_dlist_insert_after(__host_type, __member, __list_ptr, __item_prv_ptr, __item_ptr) |
#define | vsf_dlist_insert_before(__host_type, __member, __list_ptr, __item_next_ptr, __item_ptr) |
#define | vsf_dlist_remove( __host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_dlist_remove_after(__host_type, __member, __list_ptr, __node_ptr, __item_ref_ptr) |
#define | vsf_dlist_remove_before(__host_type, __member, __list_ptr, __node_ptr, __item_ref_ptr) |
queue operation using dual-way linked list | |
#define | vsf_dlist_queue_peek( __host_type, __member, __list_ptr, __item_ref_ptr) |
#define | vsf_dlist_queue_enqueue(__host_type, __member, __list_ptr, __item_ptr) |
#define | vsf_dlist_queue_dequeue(__host_type, __member, __list_ptr, __item_ref_ptr) |
Typedefs | |
single list item | |
typedef struct vsf_slist_t | vsf_slist_t |
typedef struct vsf_slist_node_t | vsf_slist_node_t |
dual-way linked list item | |
typedef struct vsf_dlist_t | vsf_dlist_t |
typedef struct vsf_dlist_node_t | vsf_dlist_node_t |
single list queue header | |
typedef struct vsf_slist_queue_t | vsf_slist_queue_t |
#define __vsf_when | ( | __cond | ) | (__cond) |
#define vsf_when | ( | __cond | ) | __vsf_when(__cond) |
#define __vsf_list_tmp_name | ( | __head | ) | VSF_MCONNECT2(__head, __LINE__) |
#define __vsf_slist_is_empty | ( | __list_ptr | ) | (NULL == ((vsf_slist_t *)(__list_ptr))->head) |
#define __vsf_slist_set_next | ( | __node_ptr, | |
__item_next_ptr | |||
) |
#define __vsf_slist_ref_next | ( | __node_ptr, | |
__item_ref_ptr | |||
) |
#define __vsf_slist_insert_next | ( | __host_type, | |
__member, | |||
__node_ptr, | |||
__item_ptr | |||
) |
#define __vsf_slist_remove_next_unsafe | ( | __host_type, | |
__member, | |||
__node_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_slist_insert_after | ( | __host_type, | |
__member, | |||
__item_ptr, | |||
__item_new_ptr | |||
) |
#define __vsf_slist_remove_after | ( | __host_type, | |
__member, | |||
__item_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_slist_insert | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr, | |||
__cond | |||
) |
#define __vsf_slist_foreach_unsafe | ( | __host_type, | |
__member, | |||
__list_ptr | |||
) |
#define __vsf_slist_foreach_next_unsafe | ( | __host_type, | |
__member, | |||
__list_ptr | |||
) |
#define __vsf_slist_foreach | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define __vsf_slist_discard_head | ( | __host_type, | |
__member, | |||
__list_ptr | |||
) |
#define __vsf_slist_queue_init | ( | __queue_ptr | ) |
#define __vsf_slist_queue_enqueue | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ptr | |||
) |
#define __vsf_slist_queue_dequeue | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_slist_queue_is_in | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ptr | |||
) | vsf_slist_is_in(__host_type, __member, (vsf_slist_t *)&(__queue_ptr)->head, (__item_ptr)) |
#define __vsf_slist_queue_peek | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ref_ptr | |||
) | __vsf_slist_ref_next(&((__queue_ptr)->head), (__item_ref_ptr)); |
#define __vsf_slist_queue_add_to_head | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ptr | |||
) |
#define __vsf_dlist_init | ( | __list_ptr | ) |
#define __vsf_dlist_init_node | ( | __node_ptr | ) |
#define __vsf_dlist_get_host | ( | __host_type, | |
__member, | |||
__node_ptr | |||
) | vsf_container_of((__node_ptr), __host_type, __member) |
#define __vsf_dlist_get_host_safe | ( | __host_type, | |
__member, | |||
__node_ptr | |||
) | vsf_safe_container_of((__node_ptr), __host_type, __member) |
#define __vsf_dlist_is_in | ( | __list_ptr, | |
__node_ptr | |||
) | __vsf_dlist_is_in_imp((__list_ptr), (__node_ptr)) |
#define __vsf_dlist_ref | ( | __host_type, | |
__member, | |||
__node_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_dlist_ref_safe | ( | __host_type, | |
__member, | |||
__node_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_dlist_add_to_head | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) | __vsf_dlist_add_to_head_imp((__list_ptr), &((__item_ptr)->__member)) |
#define __vsf_dlist_add_to_tail | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) | __vsf_dlist_add_to_tail_imp((__list_ptr), &((__item_ptr)->__member)) |
#define __vsf_dlist_peek_next | ( | __host_type, | |
__member, | |||
__item_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_dlist_peek_head | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_dlist_remove_head | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_dlist_remove_tail | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_dlist_insert_after | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_prv_ptr, | |||
__item_ptr | |||
) |
#define __vsf_dlist_insert_before | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_next_ptr, | |||
__item_ptr | |||
) |
#define __vsf_dlist_remove | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) | __vsf_dlist_remove_imp((__list_ptr), &((__item_ptr)->__member)) |
#define __vsf_dlist_remove_after | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__node_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_dlist_remove_before | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__node_ptr, | |||
__item_ref_ptr | |||
) |
#define __vsf_dlist_insert | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr, | |||
__cond | |||
) |
#define __vsf_dlist_foreach_unsafe | ( | __host_type, | |
__member, | |||
__list_ptr | |||
) |
#define __vsf_dlist_foreach_next_unsafe | ( | __host_type, | |
__member, | |||
__list_ptr | |||
) |
#define vsf_slist_init | ( | __list_ptr | ) |
#define vsf_slist_is_empty | ( | __list_ptr | ) |
#define vsf_slist_set_next | ( | __host_type, | |
__member, | |||
__node_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_get_length | ( | __host_type, | |
__member, | |||
__list_ptr | |||
) |
#define vsf_slist_remove_tail | ( | __host_type, | |
__member, | |||
__list_ptr | |||
) |
#define vsf_slist_get_item_by_index | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__index | |||
) |
#define vsf_slist_get_index | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_append | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_is_in | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_init_node | ( | __host_type, | |
__member, | |||
__item_ptr | |||
) |
#define vsf_slist_remove | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_insert | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr, | |||
__cond | |||
) |
#define vsf_slist_remove_after | ( | __host_type, | |
__member, | |||
__item_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_slist_insert_after | ( | __host_type, | |
__member, | |||
__item_ptr, | |||
__item_new_ptr | |||
) |
#define vsf_slist_stack_init | ( | __list_ptr | ) | vsf_slist_init_node(__list_ptr) |
#define vsf_slist_stack_pop | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_slist_stack_push | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_add_to_head | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_discard_head | ( | __host_type, | |
__member, | |||
__list_ptr | |||
) |
#define vsf_slist_remove_from_head_unsafe | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_slist_remove_from_head | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_slist_remove_head vsf_slist_remove_from_head |
#define vsf_slist_peek_next | ( | __host_type, | |
__member, | |||
__node_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_slist_foreach | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_queue_is_empty | ( | __queue_ptr | ) | vsf_slist_is_empty(&(__queue_ptr)->head) |
#define vsf_slist_queue_init | ( | __queue_ptr | ) | __vsf_slist_queue_init((__queue_ptr))/* the address of the queue */ |
#define vsf_slist_queue_enqueue | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_queue_dequeue | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_slist_queue_is_in | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ptr | |||
) |
#define vsf_slist_queue_peek | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_slist_queue_add_to_head | ( | __host_type, | |
__member, | |||
__queue_ptr, | |||
__item_ptr | |||
) |
#define vsf_dlist_init | ( | __list_ptr | ) |
#define vsf_dlist_is_empty | ( | __list_ptr | ) |
#define vsf_dlist_get_length | ( | __list_ptr | ) |
#define vsf_dlist_is_in | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_dlist_init_node | ( | __host_type, | |
__member, | |||
__item_ptr | |||
) |
#define vsf_dlist_add_to_head | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_dlist_add_to_tail | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_dlist_peek_head | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_dlist_peek_next | ( | __host_type, | |
__member, | |||
__item_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_dlist_remove_head | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_dlist_remove_tail | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_dlist_insert | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr, | |||
__cond | |||
) |
#define vsf_dlist_insert_after | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_prv_ptr, | |||
__item_ptr | |||
) |
#define vsf_dlist_insert_before | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_next_ptr, | |||
__item_ptr | |||
) |
#define vsf_dlist_remove | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_dlist_remove_after | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__node_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_dlist_remove_before | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__node_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_dlist_queue_peek | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
#define vsf_dlist_queue_enqueue | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ptr | |||
) |
#define vsf_dlist_queue_dequeue | ( | __host_type, | |
__member, | |||
__list_ptr, | |||
__item_ref_ptr | |||
) |
typedef struct vsf_slist_t vsf_slist_t |
typedef struct vsf_slist_node_t vsf_slist_node_t |
typedef struct vsf_dlist_t vsf_dlist_t |
typedef struct vsf_dlist_node_t vsf_dlist_node_t |
typedef struct vsf_slist_queue_t vsf_slist_queue_t |
|
extern |
calculate the length of the target list !
this_ptr | address of the target list ! |
list_offset | the list offset in byte within a host type ! |
this_ptr | address of the target list ! |
list_offset | the list offset in byte within a host type ! |
|
extern |
get the specified item with a given index from the target list !
this_ptr | address of the target list ! |
index | index number of the wanted item ! |
list_offset | the list offset in byte within a host type ! |
NULL | Illegal input ! |
!NULL | the address of the wanted item |
|
extern |
find the index number of a given item from the target list !
this_ptr | address of the target list ! |
item | address of the target item ! |
list_offset | the list offset in byte within a host type ! |
|
extern |
remove a item from the target list !
this_ptr | address of the target list ! |
item | address of the target item ! |
list_offset | the list offset in byte within a host type ! |
NULL | Illegal input ! |
!NULL | the address of the removed item |
remove the target item
cut the item off from the list
|
extern |
append a item from the target list !
this_ptr | address of the target list ! |
item | address of the target item ! |
list_offset | the list offset in byte within a host type ! |
NULL | Illegal input ! |
!NULL | the address of the appended item |
append a item from the target list !
this_ptr | address of the target list ! |
item | address of the target item ! |
list_offset | the list offset in byte within a host type ! |
NULL | Illegal input ! |
!NULL | the address of the appended item |
< append the item
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |