dlinklist.h

Langue: en

Version: 375876 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

libmapi/dlinklist.h -

SYNOPSIS


Defines


#define DLIST_ADD(list, p)

#define DLIST_ADD_AFTER(list, p, el)

#define DLIST_ADD_END(list, p, type)

#define DLIST_CONCATENATE(list1, list2, type)

#define DLIST_DEMOTE(list, p, tmp)

#define DLIST_PROMOTE(list, p)

#define DLIST_REMOVE(list, p)

Define Documentation

#define DLIST_ADD(list, p)Value:

 do {         if (!(list)) {                 (list) = (p);                 (p)->next = (p)->prev = NULL;         } else {                 (list)->prev = (p);                 (p)->next = (list);                 (p)->prev = NULL;                 (list) = (p);         }} while (0)
 

Referenced by CreateBookmark(), mapi_id_array_add_id(), mapi_id_array_add_obj(), MapiLogonProvider(), and Subscribe().

#define DLIST_ADD_AFTER(list, p, el)Value:

 do {         if (!(list) || !(el)) {                 DLIST_ADD(list, p);         } else {                 p->prev = el;                 p->next = el->next;                 el->next = p;                 if (p->next) p->next->prev = p;         }} while (0)
 

#define DLIST_ADD_END(list, p, type)Value:

 do {                 if (!(list)) {                         (list) = (p);                         (p)->next = (p)->prev = NULL;                 } else {                         type tmp;                         for (tmp = (list); tmp->next; tmp = tmp->next) ;                         tmp->next = (p);                         (p)->next = NULL;                         (p)->prev = tmp;                 } } while (0)
 

#define DLIST_CONCATENATE(list1, list2, type)Value:

 do {                 if (!(list1)) {                         (list1) = (list2);                 } else {                         type tmp;                         for (tmp = (list1); tmp->next; tmp = tmp->next) ;                         tmp->next = (list2);                         if (list2) {                                 (list2)->prev = tmp;                            }                 } } while (0)
 

#define DLIST_DEMOTE(list, p, tmp)Value:

 do {                 DLIST_REMOVE(list, p);                 DLIST_ADD_END(list, p, tmp); } while (0)
 

#define DLIST_PROMOTE(list, p)Value:

 do {           DLIST_REMOVE(list, p);           DLIST_ADD(list, p); } while (0)
 

#define DLIST_REMOVE(list, p)Value:

 do {         if ((p) == (list)) {                 (list) = (p)->next;                 if (list) (list)->prev = NULL;         } else {                 if ((p)->prev) (p)->prev->next = (p)->next;                 if ((p)->next) (p)->next->prev = (p)->prev;         }         if ((p) && ((p) != (list))) (p)->next = (p)->prev = NULL; } while (0)
 

Referenced by FreeBookmark(), Logoff(), mapi_id_array_del_id(), mapi_id_array_del_obj(), and Unsubscribe().

Author

Generated automatically by Doxygen for MAPIClientLibraries from the source code.