#include <stdio.h>
 
struct my_struct {
     int a, b;
};
 
#define EVEN_INLIST_GET(Inlist) (& ((Inlist)->even))
 
#define EVEN_INLIST_CONTAINER_GET(ptr, type) \
   ((type *)((char *)ptr - offsetof(type, even)))
 
int
main(void)
{
   struct my_struct *d, *cur;
   int i;
 
 
 
   for (i = 0; i < 100; i++)
     {
        d = malloc(sizeof(*d));
        d->a = i;
        d->b = i * 10;
        if ((i % 2) == 0)
     }
 
   printf("list=%p\n", list);
     printf("\ta=%d, b=%d\n", cur->a, cur->b);
 
   printf("list_even=%p\n", list_even);
   for (itr = list_even; itr != NULL; itr = itr->next)
     {
        cur = EVEN_INLIST_CONTAINER_GET(itr, struct my_struct);
        printf("\ta=%d, b=%d\n", cur->a, cur->b);
     }
 
 
   itr = list_even;
   while (itr)
     {
        cur = EVEN_INLIST_CONTAINER_GET(itr, struct my_struct);
        if ((cur->a % 3) == 0)
        itr = next;
     }
 
   while (list)
     {
                                                          struct my_struct);
        free(aux);
     }
 
 
   return 0;
}
Eina_Inlist * eina_inlist_append(Eina_Inlist *list, Eina_Inlist *new_l)
Adds a new node to end of a list.
Definition: eina_inlist.c:227
unsigned int eina_inlist_count(const Eina_Inlist *list)
Gets the count of the number of items in a list.
Definition: eina_inlist.c:448
#define EINA_INLIST_GET(Inlist)
Utility macro to get the inlist object of a struct.
Definition: eina_inlist.h:413
#define EINA_INLIST_FOREACH(list, it)
Definition: eina_inlist.h:832
#define EINA_INLIST_CONTAINER_GET(ptr, type)
Utility macro to get the container object of an inlist.
Definition: eina_inlist.h:415
Eina_Inlist * eina_inlist_prepend(Eina_Inlist *list, Eina_Inlist *new_l)
Adds a new node to beginning of list.
Definition: eina_inlist.c:254
#define EINA_INLIST
Used for declaring an inlist member in a struct.
Definition: eina_inlist.h:411
Eina_Inlist * eina_inlist_remove(Eina_Inlist *list, Eina_Inlist *item)
Removes node from list.
Definition: eina_inlist.c:335
int eina_shutdown(void)
Shuts down the Eina library.
Definition: eina_main.c:350
int eina_init(void)
Initializes the Eina library.
Definition: eina_main.c:279
Inlined list type.
Definition: eina_inlist.h:405
Eina_Inlist * next
next node
Definition: eina_inlist.h:406