![]() |
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 );
}
1.7.4