home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d7xx / d745 / arexxbox.lha / ARexxBox / test / rx_test2.h < prev    next >
C/C++ Source or Header  |  1992-10-12  |  3KB  |  147 lines

  1. /*
  2.  * Source generated with ARexxBox 1.00 (Jun 19 1992)
  3.  * which is Copyright (c) 1992 Michael Balzer
  4.  */
  5.  
  6. #define REXX_EXTENSION "TEST2"
  7.  
  8. #define RESINDEX(stype) (((long) &((struct stype *)0)->res) / sizeof(long))
  9.  
  10. #define RXIF_INIT   1
  11. #define RXIF_ACTION 2
  12. #define RXIF_FREE   3
  13.  
  14. #define ARB_CF_ENABLED     (1L << 0)
  15. #define ARB_HF_CMDSHELL    (1L << 0)
  16.  
  17. struct RexxHost
  18. {
  19.     struct MsgPort *port;
  20.     char portname[ 80 ];
  21.     long replies;
  22.     struct RDArgs *rdargs;
  23.     long flags;
  24.     APTR userdata;
  25. };
  26.  
  27. struct rxs_command
  28. {
  29.     char *command, *args, *results;
  30.     long resindex;
  31.     void (*function)( struct RexxHost *, void **, long );
  32.     long flags;
  33. };
  34.  
  35. #ifndef NO_GLOBALS
  36. extern char RexxPortBaseName[80];
  37. extern struct rxs_command rxs_commandlist[];
  38. #endif
  39.  
  40. void ReplyRexxCommand( struct RexxMsg *rxmsg, long prim, long sec, char *res );
  41. void FreeRexxCommand( struct RexxMsg *rxmsg );
  42. struct RexxMsg *SendRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  43.  
  44. void CloseDownARexxHost( struct RexxHost *host );
  45. struct RexxHost *SetupARexxHost( char *basename );
  46. struct rxs_command *FindRXCommand( char *com );
  47. char *ExpandRXCommand( struct RexxHost *host, char *command );
  48. void ARexxDispatch( struct RexxHost *host );
  49.  
  50. void DoShellCommand( struct RexxHost *host, char *comline, BPTR fhout );
  51. void CommandShell( struct RexxHost *host, BPTR fhin, BPTR fhout, char *prompt );
  52.  
  53. /* rxd-Strukturen dürfen nur AM ENDE um lokale Variablen erweitert werden! */
  54.  
  55. struct rxd_alias
  56. {
  57.     long rc, rc2;
  58.     struct {
  59.         long global;
  60.         char *name;
  61.         char *command;
  62.     } arg;
  63. };
  64.  
  65. void rx_alias( struct RexxHost *, struct rxd_alias **, long );
  66.  
  67. struct rxd_cmdshell
  68. {
  69.     long rc, rc2;
  70.     struct {
  71.         long open;
  72.         long close;
  73.     } arg;
  74. };
  75.  
  76. void rx_cmdshell( struct RexxHost *, struct rxd_cmdshell **, long );
  77.  
  78. struct rxd_disable
  79. {
  80.     long rc, rc2;
  81.     struct {
  82.         long global;
  83.         char **names;
  84.     } arg;
  85. };
  86.  
  87. void rx_disable( struct RexxHost *, struct rxd_disable **, long );
  88.  
  89. struct rxd_enable
  90. {
  91.     long rc, rc2;
  92.     struct {
  93.         long global;
  94.         char **names;
  95.     } arg;
  96. };
  97.  
  98. void rx_enable( struct RexxHost *, struct rxd_enable **, long );
  99.  
  100. struct rxd_fault
  101. {
  102.     long rc, rc2;
  103.     struct {
  104.         char *var, *stem;
  105.         long *number;
  106.     } arg;
  107.     struct {
  108.         char *description;
  109.     } res;
  110. };
  111.  
  112. void rx_fault( struct RexxHost *, struct rxd_fault **, long );
  113.  
  114. struct rxd_help
  115. {
  116.     long rc, rc2;
  117.     struct {
  118.         char *var, *stem;
  119.         char *command;
  120.         long prompt;
  121.     } arg;
  122.     struct {
  123.         char *commanddesc;
  124.         char **commandlist;
  125.     } res;
  126. };
  127.  
  128. void rx_help( struct RexxHost *, struct rxd_help **, long );
  129.  
  130. struct rxd_rx
  131. {
  132.     long rc, rc2;
  133.     struct {
  134.         char *var, *stem;
  135.         long console;
  136.         long async;
  137.         char *command;
  138.     } arg;
  139.     struct {
  140.         long *rc;
  141.         char *result;
  142.     } res;
  143. };
  144.  
  145. void rx_rx( struct RexxHost *, struct rxd_rx **, long );
  146.  
  147.