summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/w32api/ChangeLog4
-rw-r--r--winsup/w32api/include/winnt.h6
2 files changed, 10 insertions, 0 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index 52864d790..0bfeb685c 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,3 +1,7 @@
+2003-10-13 Steven Edwards <Steven_Ed4153@yahoo.com>
+
+ * include/winnt.h (CONTAINING_RECORD): Add macro.
+
2003-10-13 Danny Smith <dannysmith@users.sourceforge.net>
* include/winnt.h: (FILE_SUPERSEDED, FILE_OPENED, FILE_CREATED,
diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h
index a376cfe4d..9002aa885 100644
--- a/winsup/w32api/include/winnt.h
+++ b/winsup/w32api/include/winnt.h
@@ -806,7 +806,13 @@ typedef DWORD FLONG;
#define MESSAGE_RESOURCE_UNICODE 1
#define RTL_CRITSECT_TYPE 0
#define RTL_RESOURCE_TYPE 1
+/* Also in winddk.h */
#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f))
+#ifndef CONTAINING_RECORD
+#define CONTAINING_RECORD(address, type, field) \
+ ((type*)((PCHAR)(address) - (PCHAR)(&((type *)0)->field)))
+#endif
+/* end winddk.h */
#define IMAGE_SIZEOF_FILE_HEADER 20
#define IMAGE_FILE_RELOCS_STRIPPED 1
#define IMAGE_FILE_EXECUTABLE_IMAGE 2