![]() |
Helixis 1.0
Task Programming API
|
#include "slist_internal.h"
Go to the source code of this file.
Functions | |
int | slist_new (struct slist_state **ss, void(*user_data_delete_function)(void *user_data, void *user_state), void *user_state) |
void | slist_internal_init_slist (struct slist_state *ss, void(*user_data_delete_function)(void *user_data, void *user_state), void *user_state) |
struct slist_element * | slist_new_head (struct slist_state *ss, void *user_data) |
Variables | |
hlx_api | gl_api |
void slist_internal_init_slist | ( | struct slist_state * | ss, |
void(*)(void *user_data, void *user_state) | user_data_delete_function, | ||
void * | user_state | ||
) |
Definition at line 25 of file slist_new.c.
References slist_state::head, slist_state::user_data_delete_function, and slist_state::user_state.
Referenced by slist_delete_all_elements(), and slist_new().
{ /* TRD : user_data_delete_function can be 0 */ /* TRD : user_state can be 0 */ ss->head = 0; ss->user_data_delete_function = user_data_delete_function; ss->user_state = user_state; return; }
int slist_new | ( | struct slist_state ** | ss, |
void(*)(void *user_data, void *user_state) | user_data_delete_function, | ||
void * | user_state | ||
) |
Definition at line 6 of file slist_new.c.
References ALIGN_SINGLE_POINTER, hlx_api::aligned_malloc_entry, slist_internal_init_slist(), and slist_state::user_data_delete_function.
Referenced by _hlx_event_handler_create_by_hash(), _init_channel_manager(), hlx_chan_create(), and hlx_event_manager_create().
{ int rv = 0; /* TRD : user_data_delete_function can be 0 */ /* TRD : user_state can be 0 */ *ss = (struct slist_state *) gl_api.aligned_malloc_entry( sizeof(struct slist_state), ALIGN_SINGLE_POINTER ); if( *ss != 0 ) { slist_internal_init_slist( *ss, user_data_delete_function, user_state ); rv = 1; } return( rv ); }
struct slist_element* slist_new_head | ( | struct slist_state * | ss, |
void * | user_data | ||
) | [read] |
Definition at line 37 of file slist_new.c.
References ALIGN, ALIGN_DOUBLE_POINTER, ALIGN_SINGLE_POINTER, hlx_api::aligned_malloc_entry, SLIST_FLAGS, slist_internal_link_element_to_head(), SLIST_NO_FLAGS, SLIST_USER_DATA, and slist_element::user_data_and_flags.
Referenced by _hlx_event_handler_create_by_hash(), _hlx_event_register_callback_with_group(), and hlx_chan_create().
{ ALIGN(ALIGN_SINGLE_POINTER) struct slist_element *volatile se; /* TRD : user_data can be 0 */ se = (struct slist_element *) gl_api.aligned_malloc_entry( sizeof(struct slist_element), ALIGN_DOUBLE_POINTER ); if( se != 0 ) { se->user_data_and_flags[SLIST_USER_DATA] = user_data; se->user_data_and_flags[SLIST_FLAGS] = SLIST_NO_FLAGS; slist_internal_link_element_to_head( ss, se ); } return( (struct slist_element *) se ); }