#ifndef GENOBERON_H
#define GENOBERON_H
/*
**      $Filename: GenOberon.h $
**      $Release: 1.0 $
**      $Revision: 37.1 $
**
**      Header for the Oberon source generator.
**
**      (C) Copyright 1993 Kai Bolay.
**          Written by Kai Bolay & Jan van den Baard.
**/

/*
**      Include a whole bunch of stuff
**/
#include <exec/types.h>
#include <exec/memory.h>
#include <dos/dos.h>
#include <dos/rdargs.h>
#include <dos/dostags.h>
#include <libraries/nofrag.h>
#include <libraries/gadtools.h>
#include <libraries/iffparse.h>
#include <intuition/intuition.h>
#include <intuition/classes.h>
#include <intuition/classusr.h>
#include <intuition/imageclass.h>
#include <intuition/gadgetclass.h>
#include <intuition/sghooks.h>
#include <graphics/gfx.h>
#include <graphics/gfxmacros.h>
#include <workbench/workbench.h>
#include <workbench/startup.h>
#include <workbench/icon.h>
#include <gadtoolsbox/gtxbase.h>
#include <gadtoolsbox/hotkey.h>
#include <gadtoolsbox/forms.h>
#include <gadtoolsbox/prefs.h>
#include <gadtoolsbox/gui.h>

/*
**      alib_protos.h screws up abs.
**/
#ifndef abs
#define abs
#endif

#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#include <clib/alib_protos.h>
#include <clib/exec_protos.h>
#include <clib/dos_protos.h>
#include <clib/nofrag_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/iffparse_protos.h>
#include <clib/intuition_protos.h>
#include <clib/graphics_protos.h>
#include <clib/utility_protos.h>
#include <clib/icon_protos.h>
#include <clib/gtx_protos.h>
#include <clib/diskfont_protos.h>

/*
**      DICE "MakeProto" macros.
**/
#define Prototype                   extern
#define Local                       static

/*
**      Memory-block size of our MemoryChain.
**/
#define CHAINSIZE                   4096L

/*
**      Shell arguments.
**/
struct ShellArgs {
    UBYTE           *Name;              /* GUI file name. */
    UBYTE           *BaseName;          /* Base name of the source */
    LONG             Quiet;             /* Quiet mode */
};

/*
**      Miscellanious macros.
**/
#define BITSET(v,b)                 ((ULONG)v&(ULONG)b)
#define NOTSET(v,b)                 (((ULONG)v&(ULONG)b)!=(ULONG)b)

/*
**      GenOberon preferences structure.
**      Add what you need.
**/
struct ObConfig {
    ULONG               ConfigFlags0;
    ULONG               ConfigFlags1;
};

#define GO0_SYSFONT                 (1<<0)
#define GO0_GENOPENFONT             (1<<1)

/*
**      Prototypes generated by "MakeProto".
**/
#include "GenOberon_protos.h"

#endif
