aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2003-10-13 05:22:30 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2003-10-13 05:22:30 +0000
commit29598fc7e089ff7fddb7a1bf4ac5b61600b5c132 (patch)
tree9230589d51bd94371a7355c860953d5394f38817
parent851217a605fbeb580b615f7b2b074cf0baa1d864 (diff)
downloadnewlib-29598fc7e089ff7fddb7a1bf4ac5b61600b5c132.zip
newlib-29598fc7e089ff7fddb7a1bf4ac5b61600b5c132.tar.gz
newlib-29598fc7e089ff7fddb7a1bf4ac5b61600b5c132.tar.bz2
2003-10-13 Steven Edwards <Steven_Ed4153@yahoo.com>
* include/winnt.h (CONTAINING_RECORD): Add macro.
-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 52864d7..0bfeb68 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 a376cfe..9002aa8 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