diff options
Diffstat (limited to 'winsup/w32api/include/winnt.h')
-rw-r--r-- | winsup/w32api/include/winnt.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h index e6f071d79..219d99055 100644 --- a/winsup/w32api/include/winnt.h +++ b/winsup/w32api/include/winnt.h @@ -845,7 +845,12 @@ typedef DWORD FLONG; #define RTL_CRITSECT_TYPE 0 #define RTL_RESOURCE_TYPE 1 /* Also in winddk.h */ +#ifdef __cplusplus +#define FIELD_OFFSET(t,f) (reinterpret_cast<LONG> \ + (&reinterpret_cast<char&>(static_cast<t*>(0)->f))) +#else #define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f)) +#endif #ifndef CONTAINING_RECORD #define CONTAINING_RECORD(address, type, field) \ ((type*)((PCHAR)(address) - (PCHAR)(&((type *)0)->field))) |