* include/winnt.h, include/ddk/winddk.h (FIELD_OFFSET):

Compile with recent C++ compiler such as gcc 3.4.
	* include/ddk/winddk.h: Ditto.
This commit is contained in:
Dimitri Papadopoulos
2006-04-19 08:40:53 +00:00
parent a2601182c0
commit cb784c8950
3 changed files with 16 additions and 0 deletions

View File

@ -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)))