libcdio  2.1.0
Macros | Typedefs | Functions
ds.h File Reference

The top-level header for list-related data structures. More...

#include <cdio/types.h>

Go to the source code of this file.

Macros

#define _CDIO_LIST_FOREACH(node, list)   for (node = _cdio_list_begin (list); node; node = _cdio_list_node_next (node))
 

Typedefs

typedef struct _CdioList CdioList_t
 
typedef struct _CdioListNode CdioListNode_t
 
typedef int(* _cdio_list_cmp_func_t) (void *p_data1, void *p_data2)
 
typedef int(* _cdio_list_iterfunc_t) (void *p_data, void *p_user_data)
 

Functions

CdioList_t_cdio_list_new (void)
 
void _cdio_list_free (CdioList_t *p_list, int free_data, CdioDataFree_t free_fn)
 
unsigned _cdio_list_length (const CdioList_t *list)
 
void _cdio_list_prepend (CdioList_t *p_list, void *p_data)
 
void _cdio_list_append (CdioList_t *p_list, void *p_data)
 
void _cdio_list_foreach (CdioList_t *p_list, _cdio_list_iterfunc_t func, void *p_user_data)
 
CdioListNode_t_cdio_list_find (CdioList_t *p_list, _cdio_list_iterfunc_t cmp_func, void *p_user_data)
 
CdioListNode_t_cdio_list_begin (const CdioList_t *p_list)
 
CdioListNode_t_cdio_list_end (CdioList_t *p_list)
 
CdioListNode_t_cdio_list_node_next (CdioListNode_t *p_node)
 
void _cdio_list_node_free (CdioListNode_t *p_node, int i_free_data, CdioDataFree_t free_fn)
 
void * _cdio_list_node_data (CdioListNode_t *p_node)
 

Detailed Description

The top-level header for list-related data structures.

Note: this header will is slated to get removed and libcdio will use glib.h routines instead.

Macro Definition Documentation

◆ _CDIO_LIST_FOREACH

#define _CDIO_LIST_FOREACH (   node,
  list 
)    for (node = _cdio_list_begin (list); node; node = _cdio_list_node_next (node))

Typedef Documentation

◆ _cdio_list_cmp_func_t

typedef int(* _cdio_list_cmp_func_t) (void *p_data1, void *p_data2)

◆ _cdio_list_iterfunc_t

typedef int(* _cdio_list_iterfunc_t) (void *p_data, void *p_user_data)

◆ CdioList_t

typedef struct _CdioList CdioList_t

opaque types...

◆ CdioListNode_t

typedef struct _CdioListNode CdioListNode_t

Function Documentation

◆ _cdio_list_append()

void _cdio_list_append ( CdioList_t p_list,
void *  p_data 
)

◆ _cdio_list_begin()

CdioListNode_t* _cdio_list_begin ( const CdioList_t p_list)

node operations

◆ _cdio_list_end()

CdioListNode_t* _cdio_list_end ( CdioList_t p_list)

◆ _cdio_list_find()

CdioListNode_t* _cdio_list_find ( CdioList_t p_list,
_cdio_list_iterfunc_t  cmp_func,
void *  p_user_data 
)

◆ _cdio_list_foreach()

void _cdio_list_foreach ( CdioList_t p_list,
_cdio_list_iterfunc_t  func,
void *  p_user_data 
)

◆ _cdio_list_free()

void _cdio_list_free ( CdioList_t p_list,
int  free_data,
CdioDataFree_t  free_fn 
)

◆ _cdio_list_length()

unsigned _cdio_list_length ( const CdioList_t list)

◆ _cdio_list_new()

CdioList_t* _cdio_list_new ( void  )

methods

◆ _cdio_list_node_data()

void* _cdio_list_node_data ( CdioListNode_t p_node)

◆ _cdio_list_node_free()

void _cdio_list_node_free ( CdioListNode_t p_node,
int  i_free_data,
CdioDataFree_t  free_fn 
)

◆ _cdio_list_node_next()

CdioListNode_t* _cdio_list_node_next ( CdioListNode_t p_node)

◆ _cdio_list_prepend()

void _cdio_list_prepend ( CdioList_t p_list,
void *  p_data 
)