// datafield hacks alias int FILE; alias int Uint8; // structure struct SDL_RWops { int (*seek)(SDL_RWops *context, int offset, int whence); int (*read)(SDL_RWops *context, void *ptr, int size, int maxnum); int (*write)(SDL_RWops *context, void *ptr, int size, int num); int (*close)(SDL_RWops *context); uint type; union hide { version(Windows) { struct win32io { int append; void *h; } } struct stdio { int autoclose; FILE *fp; } struct mem { Uint8 *base; Uint8 *here; Uint8 *stop; } struct unknown { void *data1; } } hide hidden; } int main() { SDL_RWops w; // need 'this' to access data member data1?? w.hidden.unknown.data1 = null; return 0; }