This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*
* SILC List is not thread-safe. If the same list context must be used
* in multithreaded environment concurrency control must be employed.
*
* SILC List is not thread-safe. If the same list context must be used
* in multithreaded environment concurrency control must be employed.
void *head; /* Start of the list */
void *tail; /* End of the list */
void *current; /* Current pointer in list */
void *head; /* Start of the list */
void *tail; /* End of the list */
void *current; /* Current pointer in list */
(list).next_offset = silc_offsetof(type, nextfield); \
(list).prev_set = 0; \
(list).prev_offset = 0; \
(list).next_offset = silc_offsetof(type, nextfield); \
(list).prev_set = 0; \
(list).prev_offset = 0; \
(list).next_offset = silc_offsetof(type, nextfield); \
(list).prev_offset = silc_offsetof(type, prevfield); \
(list).prev_set = 1; \
(list).next_offset = silc_offsetof(type, nextfield); \
(list).prev_offset = silc_offsetof(type, prevfield); \
(list).prev_set = 1; \