/* Graphics.h */
/* Header file for the Graphics1.c and Graphics2.c macros. */
/* It is best to pre-compile this header file. */

#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <time.h>
#include <string.h>
#include <functions.h>
#include <libraries/dosextens.h>
#include <rexx/rexxio.h>
#include <rexx/rxslib.h>
#include <rexx/errors.h>
#include <intuition/intuitionbase.h>

#define INTUITION_REV 33
#define GRAPHICS_REV 33
#define DISKFONT_REV 33
#define BOX 1991
#define CIRCLE 1992
#define MYPORT "Graph1"
#define MYPORT1 "Graph2"

/* prototypes */
BOOL Open_Libs(void);
void Close_Libs(void);
void Release_Port(void);
struct Window *Open_Window(SHORT leftedge, SHORT topedge, SHORT width, SHORT height,
			   ULONG idcmp, ULONG flags, UBYTE *title);
struct MsgPort *Open_Port(char *);
struct RexxMsg *CreateRexxMsg(struct RexxMsgPort *, STRPTR, STRPTR);
STRPTR CreateArgstring(STRPTR, ULONG);
void DeleteRexxMsg(struct RexxMsg *);
void DeleteArgstring(STRPTR);
void Release_Port(void);
void seedrandom(void);
long random(double lower, double upper);
BOOL getidcmpmsg(void);
void getarexxmsg(void);
void arexxsend(STRPTR);
void sran(double);
double ran(void);

/* ARexx Pragmas */
#pragma amicall(RexxSysBase, 0x90, CreateRexxMsg(a0,a1,d0))
#pragma amicall(RexxSysBase, 0x7e, CreateArgstring(a0,d0))
#pragma amicall(RexxSysBase, 0x84, DeleteArgstring(a0))
#pragma amicall(RexxSysBase, 0x96, DeleteRexxMsg(a0))
