RTEMS 6.3
Loading...
Searching...
No Matches
drvmgr_list.h File Reference

Linked list help functions used by driver manager. More...

Go to the source code of this file.

Data Structures

struct  drvmgr_list

Macros

#define LIST_INITIALIZER(type, field)
#define LIST_HEAD(list, type)
#define LIST_TAIL(list, type)
#define LIST_FIELD(list, entry)
#define LIST_NEXT(list, entry, type)
#define LIST_FOR_EACH(list, entry, type)

Functions

void drvmgr_list_init (struct drvmgr_list *list, int offset)
void drvmgr_list_empty (struct drvmgr_list *list)
void drvmgr_list_add_head (struct drvmgr_list *list, void *entry)
void drvmgr_list_add_tail (struct drvmgr_list *list, void *entry)
void drvmgr_list_remove_head (struct drvmgr_list *list)
void drvmgr_list_remove (struct drvmgr_list *list, void *entry)

Detailed Description

Linked list help functions used by driver manager.

Macro Definition Documentation

◆ LIST_FIELD

#define LIST_FIELD ( list,
entry )
Value:
(*(void **)((char *)(entry) + (list)->ofs))
Definition mmu-config.c:53

◆ LIST_FOR_EACH

#define LIST_FOR_EACH ( list,
entry,
type )
Value:
for (entry = LIST_HEAD(list, type); \
entry; \
entry = LIST_NEXT(list, entry, type))

◆ LIST_HEAD

#define LIST_HEAD ( list,
type )
Value:
((type *)(list)->head)

◆ LIST_INITIALIZER

#define LIST_INITIALIZER ( type,
field )
Value:
{NULL, NULL, offsetof(type, field)}

◆ LIST_NEXT

#define LIST_NEXT ( list,
entry,
type )
Value:
((type *)(LIST_FIELD(list, entry)))

◆ LIST_TAIL

#define LIST_TAIL ( list,
type )
Value:
((type *)(list)->tail)

Function Documentation

◆ drvmgr_list_add_head()

void drvmgr_list_add_head ( struct drvmgr_list * list,
void * entry )
extern

Add entry to front of list

◆ drvmgr_list_add_tail()

void drvmgr_list_add_tail ( struct drvmgr_list * list,
void * entry )
extern

Add entry to end of list

◆ drvmgr_list_empty()

void drvmgr_list_empty ( struct drvmgr_list * list)
extern

Clear list

◆ drvmgr_list_init()

void drvmgr_list_init ( struct drvmgr_list * list,
int offset )
extern

Initialize a list during runtime

Parameters
listThe list to initialize
offsetThe number of bytes into the entry structure the next pointer is found

◆ drvmgr_list_remove()

void drvmgr_list_remove ( struct drvmgr_list * list,
void * entry )
extern

Remove entry from anywhere in list

◆ drvmgr_list_remove_head()

void drvmgr_list_remove_head ( struct drvmgr_list * list)
extern

Remove entry from front of list