type
    NewWindow_t = unknown 48,
    Gadget_t = unknown 44,
    List_t = unknown 14,

    DrawerData_t = struct {
	NewWindow_t dd_NewWindow;
	ulong dd_CurrentX, dd_CurrentY;
    },

    DiskObject_t = struct {
	uint do_Magic, do_Version;
	*Gadget_t do_Gadget;
	ushort do_Type;
	*char do_DefaultTool;
	**char do_ToolTypes;
	ulong do_CurrentX, do_CurrentY;
	*DrawerData_t do_DrawerData;
	*char do_ToolWindow;
	ulong do_StackSize;
    },

    FreeList_t = struct {
	uint fl_NumFree;
	List_t fl_MemList;
    };

ushort
    WBDISK	= 1,
    WBDRAWER	= 2,
    WBTOOL	= 3,
    WBPROJECT	= 4,
    WBGARBAGE	= 5,
    WBDEVICE	= 6,
    WBKICK	= 7;

ulong DRAWERDATAFILESIZE = sizeof(DrawerData_t);

uint
    WB_DISKMAGIC	= 0xe310,
    WB_DISKVERSION	= 1;

uint
    MTYPE_PSTD		= 1,
    MTYPE_TOOLEXIT	= 2,
    MTYPE_DISKCHANGE	= 3,
    MTYPE_TIMER 	= 4,
    MTYPE_CLOSEDOWN	= 5,
    MTYPE_IOPROC	= 6;

uint GADGBACKFILL	= 0x0001;

ulong NO_ICON_POSITION	= 0x80000000;
