sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
list.h File Reference
#include <stddef.h>

Go to the source code of this file.

Classes

struct  list_head

Macros

#define container_of(ptr, type, member)
#define list_first_entry(ptr, type, member)
#define list_next_entry(pos, member)
#define list_entry_is_head(pos, head, member)
#define list_for_each_it(var, list)
#define list_for_each(var, head, member)
#define list_for_each_safe_it(var, n, list)
#define list_for_each_safe(var, head, member)

Macro Definition Documentation

◆ container_of

#define container_of ( ptr,
type,
member )
Value:
({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) ); })

Definition at line 10 of file list.h.

◆ list_entry_is_head

#define list_entry_is_head ( pos,
head,
member )
Value:
(&(pos)->member == (head))

Definition at line 69 of file list.h.

◆ list_first_entry

#define list_first_entry ( ptr,
type,
member )
Value:
container_of((ptr)->next, type, member)

Definition at line 63 of file list.h.

◆ list_for_each

#define list_for_each ( var,
head,
member )
Value:
for ((var) = list_first_entry(head, typeof(*(var)), member); \
!list_entry_is_head(var, head, member); \
(var) = list_next_entry(var, member))

Definition at line 77 of file list.h.

◆ list_for_each_it

#define list_for_each_it ( var,
list )
Value:
for ((var) = (list)->next; \
!list_same_node((var), list); \
(var) = (var)->next)

Definition at line 72 of file list.h.

◆ list_for_each_safe

#define list_for_each_safe ( var,
head,
member )
Value:
typeof((var)) var##__safe; \
for ((var) = list_first_entry(head, typeof(*(var)), member), \
(var##__safe) = list_next_entry(var, member); \
!list_entry_is_head(var, head, member); \
(var) = (var##__safe), (var##__safe) = list_next_entry(var##__safe, member))

Definition at line 87 of file list.h.

◆ list_for_each_safe_it

#define list_for_each_safe_it ( var,
n,
list )
Value:
for ((var) = (list)->next, (n) = (var)->next; \
!list_same_node((var), list); \
(var) = (n), (n) = (var)->next)

Definition at line 82 of file list.h.

◆ list_next_entry

#define list_next_entry ( pos,
member )
Value:
container_of((pos)->member.next, typeof(*(pos)), member)

Definition at line 66 of file list.h.