2012-03-07  Corinna Vinschen <corinna@vinschen.de>

	* winternl.h (struct _LDR_DATA_TABLE_ENTRY): Changed type of Reserved1
	from BYTE to LPVOID.
	(InitializeObjectAttributes): New macro.
	(OBJ_INHERIT, OBJ_PERMANENT, OBJ_EXCLUSIVE, OBJ_CASE_INSENSITIVE,
	OBJ_OPENIF, OBJ_OPENLINK, OBJ_KERNEL_HANDLE, OBJ_FORCE_ACCESS_CHECK,
	OBJ_VALID_ATTRIBUTES): New macro-constants.
	* iptypes.h (PIP_ADAPTER_ADDRESSES_LH): Add type as pointer to
	IP_ADAPTER_ADDRESSES_LH.


git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@4885 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog
index daa3de4..a0a45e0 100644
--- a/mingw-w64-headers/include/ChangeLog
+++ b/mingw-w64-headers/include/ChangeLog
@@ -1,3 +1,14 @@
+2012-03-07  Corinna Vinschen <corinna@vinschen.de>
+
+	* winternl.h (struct _LDR_DATA_TABLE_ENTRY): Changed type of Reserved1
+	from BYTE to LPVOID.
+	(InitializeObjectAttributes): New macro.
+	(OBJ_INHERIT, OBJ_PERMANENT, OBJ_EXCLUSIVE, OBJ_CASE_INSENSITIVE,
+	OBJ_OPENIF, OBJ_OPENLINK, OBJ_KERNEL_HANDLE, OBJ_FORCE_ACCESS_CHECK,
+	OBJ_VALID_ATTRIBUTES): New macro-constants.
+	* iptypes.h (PIP_ADAPTER_ADDRESSES_LH): Add type as pointer to
+	IP_ADAPTER_ADDRESSES_LH.
+
 2012-02-07  Rafaël Carré  <funman@videolan.org>
 
 	* dxva2api.h : Add UUIDS and missing error codes
diff --git a/mingw-w64-headers/include/iptypes.h b/mingw-w64-headers/include/iptypes.h
index 6ef8c72..9b5dea9 100644
--- a/mingw-w64-headers/include/iptypes.h
+++ b/mingw-w64-headers/include/iptypes.h
@@ -282,7 +282,7 @@
 #if (NTDDI_VERSION >= 0x06000100) /* NTDDI_VISTASP1 */
     PIP_ADAPTER_DNS_SUFFIX FirstDnsSuffix;
 #endif
-  } IP_ADAPTER_ADDRESSES_LH;
+  } IP_ADAPTER_ADDRESSES_LH, *PIP_ADAPTER_ADDRESSES_LH;
 
   typedef struct _IP_ADAPTER_ADDRESSES_XP {
     __C89_NAMELESS union {
diff --git a/mingw-w64-headers/include/winternl.h b/mingw-w64-headers/include/winternl.h
index 861b3bb..9dbaa59 100644
--- a/mingw-w64-headers/include/winternl.h
+++ b/mingw-w64-headers/include/winternl.h
@@ -25,7 +25,7 @@
   } PEB_LDR_DATA,*PPEB_LDR_DATA;
  
   typedef struct _LDR_DATA_TABLE_ENTRY {
-    BYTE Reserved1[2];
+    PVOID Reserved1[2];
     LIST_ENTRY InMemoryOrderLinks;
     PVOID Reserved2[2];
     PVOID DllBase;
@@ -113,6 +113,27 @@
     PVOID SecurityQualityOfService;
   } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
 
+/* Values for the Attributes member */
+ #define OBJ_INHERIT             0x00000002
+ #define OBJ_PERMANENT           0x00000010
+ #define OBJ_EXCLUSIVE           0x00000020
+ #define OBJ_CASE_INSENSITIVE    0x00000040
+ #define OBJ_OPENIF              0x00000080
+ #define OBJ_OPENLINK            0x00000100
+ #define OBJ_KERNEL_HANDLE       0x00000200
+ #define OBJ_FORCE_ACCESS_CHECK  0x00000400
+ #define OBJ_VALID_ATTRIBUTES    0x000007F2
+
+ /* Helper Macro */
+ #define InitializeObjectAttributes(p,n,a,r,s) { \
+   (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
+   (p)->RootDirectory = (r); \
+   (p)->Attributes = (a); \
+   (p)->ObjectName = (n); \
+   (p)->SecurityDescriptor = (s); \
+   (p)->SecurityQualityOfService = NULL; \
+ }
+
   typedef struct _OBJECT_DATA_INFORMATION {
     BOOLEAN InheritHandle;
     BOOLEAN ProtectFromClose;