Nikolay Sivov (@nsivov) commented about include/winnt.h:
WORD ne_gangstart; /* 38 Offset to gangload area */
- };
- union {
/* ne_psegrefbytes is the incorrect name specified in Windows NT SDK.
Offset to segment ref. bytes was used only for the in-memory structure
of loaded NE modules on Windows 1.x and 2.x. On-disk structure always
contains length of gangload area (if gangload area is present). */
WORD ne_psegrefbytes;
WORD ne_ganglength; /* 3a Length of gangload area */
- };
- /* end of the ne_ver >= 5 structure for non-Windows modules */
- WORD ne_swaparea; /* 3c Minimum code swap area size */ WORD ne_expver; /* 3e Expected Windows version number */
} IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;
This is a public type, so whatever is in current SDK is basically "correct". Do you mean that it differs from some older definition?