Helixis 1.0
Task Programming API
Functions
sources/liblfds/slist/slist_get_and_set.c File Reference
#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_elementslist_get_head (struct slist_state *ss, struct slist_element **se)
struct slist_elementslist_get_next (struct slist_element *se, struct slist_element **next_se)
struct slist_elementslist_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)

Function Documentation

struct slist_element* slist_get_head ( struct slist_state ss,
struct slist_element **  se 
) [read]
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 
)
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;
}
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines