See <workbench/workbench.h>:
struct DrawerData
{
    struct NewWindow dd_NewWindow; /* args to open window */
    LONG             dd_CurrentX;  /* current x coordinate of origin */
    LONG             dd_CurrentY;  /* current y coordinate of origin */
    ULONG            dd_Flags;     /* flags for drawer */
    UWORD            dd_ViewModes; /* view mode for drawer */
};
/* definitions for dd_Flags */
#define DDFLAGS_SHOWMASK    0x00000003 /* show mode for drawers */
#define DDFLAGS_SHOWDEFAULT 0x00000000 /* default (inherit parent's show mode) */
#define DDFLAGS_SHOWICONS   0x00000001 /* show only icons */
#define DDFLAGS_SHOWALL     0x00000002 /* show all files */
struct DiskObject
{
    UWORD               do_Magic;   /* magic number at the start of the file */
    UWORD               do_Version; /* a version number, so we can change it */
    struct Gadget       do_Gadget;  /* a copy of in core gadget */
    UBYTE               do_Type;
    STRPTR              do_DefaultTool;
    STRPTR *            do_ToolTypes;
    LONG                do_CurrentX;
    LONG                do_CurrentY;
    struct DrawerData * do_DrawerData;
    STRPTR              do_ToolWindow;  /* only applies to tools */
    LONG                do_StackSize;   /* only applies to tools */
};