/*
 *   Includes for minrexx.c; please refer to that file for
 *   further documentation.
 */
#include <rexx/rxslib.h>
/*
 *   This is the list of functions we can access.  (Cheap forward
 *   declarations, too.)
 */
long __stdargs upRexxPort (char * s, struct rexxCommandList * rcl, char * exten, int (*uf)()) ;
void __stdargs dnRexxPort (void) ;
void __stdargs dispRexxPort (void) ;
struct RexxMsg * __stdargs sendRexxCmd (char * s,int (*f)(),STRPTR p1,STRPTR p2,STRPTR p3) ;
struct RexxMsg * __stdargs syncRexxCmd (char * s, struct RexxMsg * msg) ;
struct RexxMsg * __stdargs asyncRexxCmd (char * s) ;
void __stdargs replyRexxCmd (struct RexxMsg * msg, long primary, long secondary, char * string) ;
/* These two made public by DHN: */
int __stdargs openRexxLib(void);
void __stdargs closeRexxLib(void);

/*
 *   Maximum messages that can be pending, and the return codes
 *   for two bad situations.
 */
#define MAXRXOUTSTANDING (300)
#define RXERRORIMGONE (100)
#define RXERRORNOCMD (30)
/*
 *   This is the association list you build up (statically or
 *   dynamically) that should be terminated with an entry with
 *   NULL for the name . . .
 */
struct rexxCommandList {
   char *name ;
   APTR userdata ;
} ;


/*
 * Added 01-Feb-90 Darren New. If non-NULL, any non-rexx messages in
 * the port when dispRexxPort() is called will be passed here.
 * Return value is ignored.
 */
extern int (*HandleNonRexx)(struct Message *);

