51 #define LIST_HEAD_INIT(name) { &(name), &(name) } 53 #define LIST_HEAD(name) \ 54 struct list_head name = LIST_HEAD_INIT(name) 56 #define INIT_LIST_HEAD(ptr) do { \ 57 (ptr)->next = (ptr); (ptr)->prev = (ptr); \ 70 next->
prev = new_item;
73 prev->
next = new_item;
166 return head->
next == head;
216 #define list_entry(ptr, type, member) \ 217 ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member))) 224 #define list_for_each(pos, head) \ 225 for (pos = (head)->next; pos != (head); \ 232 #define list_for_each_prev(pos, head) \ 233 for (pos = (head)->prev; pos != (head); \ 242 #define list_for_each_safe(pos, n, head) \ 243 for (pos = (head)->next, n = pos->next; pos != (head); \ 244 pos = n, n = pos->next) 252 #define list_for_each_entry(pos, head, member) \ 253 for (pos = list_entry((head)->next, typeof(*pos), member); \ 254 &pos->member != (head); \ 255 pos = list_entry(pos->member.next, typeof(*pos), member)) 264 #define list_for_each_entry_safe(pos, n, head, member) \ 265 for (pos = list_entry((head)->next, typeof(*pos), member), \ 266 n = list_entry(pos->member.next, typeof(*pos), member); \ 267 &pos->member != (head); \ 268 pos = n, n = list_entry(n->member.next, typeof(*n), member)) 272 #define WGE100_CAMINFO_LEN 100 315 #define CAMLIST_ADD_OK 0 316 #define CAMLIST_ADD_DUP 1 IpCamList * wge100CamListGetEntry(const IpCamList *ipCamList, int index)
int wge100CamListAdd(IpCamList *ipCamList, IpCamList *newItem)
static void __list_splice(struct list_head *list, struct list_head *head)
static void list_splice_init(struct list_head *list, struct list_head *head)
static void list_move(struct list_head *list, struct list_head *head)
int wge100CamListFind(IpCamList *ipCamList, uint32_t serial)
static void list_del(struct list_head *entry)
int wge100CamListNumEntries(const IpCamList *ipCamList)
void wge100CamListDelAll(IpCamList *ipCamList)
int wge100CamListInit(IpCamList *ipCamList)
static void list_add_tail(struct list_head *new_item, struct list_head *head)
static void list_add(struct list_head *new_item, struct list_head *head)
#define WGE100_CAMINFO_LEN
static int list_empty(struct list_head *head)
static void __list_add(struct list_head *new_item, struct list_head *prev, struct list_head *next)
static void list_move_tail(struct list_head *list, struct list_head *head)
static void __list_del(struct list_head *prev, struct list_head *next)
int wge100CamListDelEntry(IpCamList *ipCamList, int index)
#define INIT_LIST_HEAD(ptr)
static void list_del_init(struct list_head *entry)
static void list_splice(struct list_head *list, struct list_head *head)