/*
 * arexx.h -- Standard header file to be included by all C programs
 *            in the Amiga Programmer's Guide to ARexx.
 */

#ifndef AREXX_H_INCLUDED
#define AREXX_H_INCLUDED

#include <exec/types.h>
#include <exec/memory.h>
#include <exec/nodes.h>
#include <exec/libraries.h>
#include <exec/ports.h>

/*
 * Note: INCLUDES_2 should be DEFINEd by users who wish to use
 * Commodore's official header files for 2.0
 */

#if defined( INCLUDES_2 ) /* Use 2.0 includes */
    #include <clib/exec_protos.h>
    #include <clib/dos_protos.h>

    extern struct MsgPort *CreatePort( UBYTE *name, ULONG pri );

    /* Here you have to insert the pragma files you've built
       for your compiler from Commodore's 2.0 .fd files */

#elif defined( AZTEC_C )    /* Aztec C */
    #include <clib/exec_protos.h>
    #include <clib/dos_protos.h>

    extern struct MsgPort *CreatePort( UBYTE *name, ULONG pri );

    #ifndef __NO_PRAGMAS
        #include <pragma/exec_lib.h>
        #include <pragma/dos_lib.h>
    #endif

#elif defined( LATTICE ) || defined( __SASC )  /* SAS/C */
    #include <proto/exec.h>
    #include <proto/dos.h>
#endif

#ifndef NULLCHAR
#define NULLCHAR '\0'
#endif

#endif /* AREXX_H_INCLUDED */
