![]() |
Helixis 1.0
Task Programming API
|
#include "slist_internal.h"
Go to the source code of this file.
Functions | |
int | slist_get_user_data_from_element (struct slist_element *se, void **user_data) |
struct slist_element * | slist_get_head (struct slist_state *ss, struct slist_element **se) |
struct slist_element * | slist_get_next (struct slist_element *se, struct slist_element **next_se) |
struct slist_element * | slist_get_head_and_then_next (struct slist_state *ss, struct slist_element **se) |
void | slist_internal_move_to_first_undeleted_element (struct slist_element **se) |
struct slist_element* slist_get_head | ( | struct slist_state * | ss, |
struct slist_element ** | se | ||
) | [read] |
Definition at line 17 of file slist_get_and_set.c.
References slist_state::head, and slist_internal_move_to_first_undeleted_element().
Referenced by slist_get_head_and_then_next().
{ *se = (struct slist_element *) ss->head; slist_internal_move_to_first_undeleted_element( se ); return( *se ); }
struct slist_element* slist_get_head_and_then_next | ( | struct slist_state * | ss, |
struct slist_element ** | se | ||
) | [read] |
Definition at line 35 of file slist_get_and_set.c.
References slist_get_head(), and slist_get_next().
Referenced by _destroy_channel_manager(), _hlx_event_return_handler_by_hash(), _hlx_get_channel_by_hash(), hlx_event_manager_destroy(), and hlx_event_notify().
{ if( *se == 0 ) slist_get_head( ss, se ); else slist_get_next( *se, se ); return( *se ); }
struct slist_element* slist_get_next | ( | struct slist_element * | se, |
struct slist_element ** | next_se | ||
) | [read] |
Definition at line 26 of file slist_get_and_set.c.
References slist_element::next, and slist_internal_move_to_first_undeleted_element().
Referenced by slist_get_head_and_then_next().
{ *next_se = (struct slist_element *) se->next; slist_internal_move_to_first_undeleted_element( next_se ); return( *next_se ); }
int slist_get_user_data_from_element | ( | struct slist_element * | se, |
void ** | user_data | ||
) |
Definition at line 4 of file slist_get_and_set.c.
References SLIST_FLAG_DELETED, SLIST_FLAGS, SLIST_USER_DATA, and slist_element::user_data_and_flags.
Referenced by _destroy_channel_manager(), _hlx_event_return_handler_by_hash(), _hlx_get_channel_by_hash(), hlx_event_manager_destroy(), and hlx_event_notify().
{ int rv = 1; *user_data = (void *) se->user_data_and_flags[SLIST_USER_DATA]; if( (atom_t) se->user_data_and_flags[SLIST_FLAGS] & SLIST_FLAG_DELETED ) rv = 0; return( rv ); }
void slist_internal_move_to_first_undeleted_element | ( | struct slist_element ** | se | ) |
Definition at line 45 of file slist_get_and_set.c.
References and, SLIST_FLAG_DELETED, and SLIST_FLAGS.
Referenced by slist_get_head(), and slist_get_next().
{ while( *se != 0 and (atom_t) (*se)->user_data_and_flags[SLIST_FLAGS] & SLIST_FLAG_DELETED ) (*se) = (struct slist_element *) (*se)->next; return; }