/* * Includes for minrexx.c; please refer to that file for * further documentation. */ #include /* * 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 *);