Author: cwittich Date: Fri Jan 18 17:11:42 2008 New Revision: 31865
URL: http://svn.reactos.org/svn/reactos?rev=31865&view=rev Log: update wine headers included by widl to wine-0.9.53
Modified: trunk/reactos/include/reactos/wine/list.h trunk/reactos/include/reactos/wine/rpcfc.h
Modified: trunk/reactos/include/reactos/wine/list.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/list.h... ============================================================================== --- trunk/reactos/include/reactos/wine/list.h (original) +++ trunk/reactos/include/reactos/wine/list.h Fri Jan 18 17:11:42 2008 @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
#ifndef __WINE_SERVER_LIST_H @@ -54,16 +54,16 @@ * * And to iterate over it: * - * struct list *cursor; - * LIST_FOR_EACH( cursor, &global_gadgets ) + * struct gadget *gadget; + * LIST_FOR_EACH_ENTRY( gadget, &global_gadgets, struct gadget, entry ) * { - * struct gadget *gadget = LIST_ENTRY( cursor, struct gadget, entry ); + * ... * } * */
/* add an element after the specified one */ -__inline static void list_add_after( struct list *elem, struct list *to_add ) +static inline void list_add_after( struct list *elem, struct list *to_add ) { to_add->next = elem->next; to_add->prev = elem; @@ -72,7 +72,7 @@ }
/* add an element before the specified one */ -__inline static void list_add_before( struct list *elem, struct list *to_add ) +static inline void list_add_before( struct list *elem, struct list *to_add ) { to_add->next = elem; to_add->prev = elem->prev; @@ -81,26 +81,26 @@ }
/* add element at the head of the list */ -__inline static void list_add_head( struct list *list, struct list *elem ) +static inline void list_add_head( struct list *list, struct list *elem ) { list_add_after( list, elem ); }
/* add element at the tail of the list */ -__inline static void list_add_tail( struct list *list, struct list *elem ) +static inline void list_add_tail( struct list *list, struct list *elem ) { list_add_before( list, elem ); }
/* remove an element from its list */ -__inline static void list_remove( struct list *elem ) +static inline void list_remove( struct list *elem ) { elem->next->prev = elem->prev; elem->prev->next = elem->next; }
/* get the next element */ -__inline static struct list *list_next( struct list *list, struct list *elem ) +static inline struct list *list_next( const struct list *list, const struct list *elem ) { struct list *ret = elem->next; if (elem->next == list) ret = NULL; @@ -108,7 +108,7 @@ }
/* get the previous element */ -__inline static struct list *list_prev( struct list *list, struct list *elem ) +static inline struct list *list_prev( const struct list *list, const struct list *elem ) { struct list *ret = elem->prev; if (elem->prev == list) ret = NULL; @@ -116,36 +116,60 @@ }
/* get the first element */ -__inline static struct list *list_head( struct list *list ) +static inline struct list *list_head( const struct list *list ) { return list_next( list, list ); }
/* get the last element */ -__inline static struct list *list_tail( struct list *list ) +static inline struct list *list_tail( const struct list *list ) { return list_prev( list, list ); }
/* check if a list is empty */ -__inline static int list_empty( struct list *list ) +static inline int list_empty( const struct list *list ) { return list->next == list; }
/* initialize a list */ -__inline static void list_init( struct list *list ) +static inline void list_init( struct list *list ) { list->next = list->prev = list; }
/* count the elements of a list */ -__inline static unsigned int list_count( const struct list *list ) +static inline unsigned int list_count( const struct list *list ) { unsigned count = 0; const struct list *ptr; for (ptr = list->next; ptr != list; ptr = ptr->next) count++; return count; +} + +/* move all elements from src to the tail of dst */ +static inline void list_move_tail( struct list *dst, struct list *src ) +{ + if (list_empty(src)) return; + + dst->prev->next = src->next; + src->next->prev = dst->prev; + dst->prev = src->prev; + src->prev->next = dst; + list_init(src); +} + +/* move all elements from src to the head of dst */ +static inline void list_move_head( struct list *dst, struct list *src ) +{ + if (list_empty(src)) return; + + dst->next->prev = src->prev; + src->prev->next = dst->next; + dst->next = src->next; + src->next->prev = dst; + list_init(src); }
/* iterate through the list */ @@ -164,6 +188,7 @@ &(elem)->field != (list); \ (elem) = LIST_ENTRY((elem)->field.next, type, field))
+/* iterate through the list using a list entry, with safety against removal */ #define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field) \ for ((cursor) = LIST_ENTRY((list)->next, type, field), \ (cursor2) = LIST_ENTRY((cursor)->field.next, type, field); \ @@ -171,12 +196,30 @@ (cursor) = (cursor2), \ (cursor2) = LIST_ENTRY((cursor)->field.next, type, field))
+/* iterate through the list in reverse order */ +#define LIST_FOR_EACH_REV(cursor,list) \ + for ((cursor) = (list)->prev; (cursor) != (list); (cursor) = (cursor)->prev) + +/* iterate through the list in reverse order, with safety against removal */ +#define LIST_FOR_EACH_SAFE_REV(cursor, cursor2, list) \ + for ((cursor) = (list)->prev, (cursor2) = (cursor)->prev; \ + (cursor) != (list); \ + (cursor) = (cursor2), (cursor2) = (cursor)->prev) + /* iterate through the list in reverse order using a list entry */ #define LIST_FOR_EACH_ENTRY_REV(elem, list, type, field) \ for ((elem) = LIST_ENTRY((list)->prev, type, field); \ &(elem)->field != (list); \ (elem) = LIST_ENTRY((elem)->field.prev, type, field))
+/* iterate through the list in reverse order using a list entry, with safety against removal */ +#define LIST_FOR_EACH_ENTRY_SAFE_REV(cursor, cursor2, list, type, field) \ + for ((cursor) = LIST_ENTRY((list)->prev, type, field), \ + (cursor2) = LIST_ENTRY((cursor)->field.prev, type, field); \ + &(cursor)->field != (list); \ + (cursor) = (cursor2), \ + (cursor2) = LIST_ENTRY((cursor)->field.prev, type, field)) + /* macros for statically initialized lists */ #define LIST_INIT(list) { &(list), &(list) }
Modified: trunk/reactos/include/reactos/wine/rpcfc.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/rpcfc.... ============================================================================== --- trunk/reactos/include/reactos/wine/rpcfc.h (original) +++ trunk/reactos/include/reactos/wine/rpcfc.h Fri Jan 18 17:11:42 2008 @@ -60,8 +60,10 @@ #define RPC_FC_BOGUS_ARRAY 0x21 /* complex array */
#define RPC_FC_C_CSTRING 0x22 +#define RPC_FC_C_SSTRING 0x24 #define RPC_FC_C_WSTRING 0x25 #define RPC_FC_CSTRING 0x26 +#define RPC_FC_SSTRING 0x28 #define RPC_FC_WSTRING 0x29
#define RPC_FC_ENCAPSULATED_UNION 0x2a @@ -91,10 +93,10 @@ #define RPC_FC_STRUCTPAD1 0x3d #define RPC_FC_STRUCTPAD2 0x3e #define RPC_FC_STRUCTPAD3 0x3f -#define RPC_FC_STRUCTPAD4 0x40 -#define RPC_FC_STRUCTPAD5 0x41 -#define RPC_FC_STRUCTPAD6 0x42 -#define RPC_FC_STRUCTPAD7 0x43 +#define RPC_FC_STRUCTPAD4 0x40 +#define RPC_FC_STRUCTPAD5 0x41 +#define RPC_FC_STRUCTPAD6 0x42 +#define RPC_FC_STRUCTPAD7 0x43
#define RPC_FC_STRING_SIZED 0x44
@@ -166,13 +168,6 @@ #define RPC_FC_PROC_OIF_OBJ_V2 0x20 #define RPC_FC_PROC_OIF_NEWINIT 0x40
-#define RPC_FC_PROC_OI2F_SRVMUSTSIZE 0x01 -#define RPC_FC_PROC_OI2F_CLTMUSTSIZE 0x02 -#define RPC_FC_PROC_OI2F_HASRETURN 0x04 -#define RPC_FC_PROC_OI2F_HASPIPES 0x08 -#define RPC_FC_PROC_OI2F_HASASYNCUUID 0x20 -#define RPC_FC_PROC_OI2F_HASEXTS 0x40 -#define RPC_FC_PROC_OI2F_HASASYNCHND 0x80 #define RPC_FC_PROC_PF_MUSTSIZE 0x0001 #define RPC_FC_PROC_PF_MUSTFREE 0x0002 #define RPC_FC_PROC_PF_PIPE 0x0004 @@ -185,11 +180,6 @@ #define RPC_FC_PROC_PF_DONTFREEINST 0x0200 #define RPC_FC_PROC_PF_SAVEASYNC 0x0400 #define RPC_FC_PROC_PF_SRVALLOCSIZE 0xe000 /* in 8 byte units */ -#define RPC_FC_PROC_EXT_NEWCORRDESC 0x01 -#define RPC_FC_PROC_EXT_CLIENTCORRCHECK 0x02 -#define RPC_FC_PROC_EXT_SERVERCORRCHECK 0x04 -#define RPC_FC_PROC_EXT_HASNOTIFY 0x08 -#define RPC_FC_PROC_EXT_HASNOTIFY2 0x10
/* correlation types */ #define RPC_FC_NORMAL_CONFORMANCE 0x00