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.…
==============================================================================
--- 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