home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / comm / qamitrack / source / trackrexx.h < prev   
Encoding:
C/C++ Source or Header  |  1998-02-19  |  3.9 KB  |  200 lines

  1. /*
  2.  * Source generated with ARexxBox 1.12 (May 18 1993)
  3.  * which is Copyright (c) 1992,1993 Michael Balzer
  4.  */
  5.  
  6. #ifndef _TrackRexx_H
  7. #define _TrackRexx_H
  8.  
  9. #define RXIF_INIT   1
  10. #define RXIF_ACTION 2
  11. #define RXIF_FREE   3
  12.  
  13. #define ARB_CF_ENABLED     (1L << 0)
  14.  
  15. #define ARB_HF_CMDSHELL    (1L << 0)
  16. #define ARB_HF_USRMSGPORT  (1L << 1)
  17.  
  18. struct RexxHost
  19. {
  20.     struct MsgPort *port;
  21.     char portname[ 80 ];
  22.     long replies;
  23.     struct RDArgs *rdargs;
  24.     long flags;
  25.     APTR userdata;
  26. };
  27.  
  28. struct rxs_command
  29. {
  30.     char *command, *args, *results;
  31.     long resindex;
  32.     void (*function)( struct RexxHost *, void **, long, struct RexxMsg * );
  33.     long flags;
  34. };
  35.  
  36. struct arb_p_link
  37. {
  38.     char    *str;
  39.     int        dst;
  40. };
  41.  
  42. struct arb_p_state
  43. {
  44.     int        cmd;
  45.     struct arb_p_link *pa;
  46. };
  47.  
  48. #ifndef NO_GLOBALS
  49. extern char RexxPortBaseName[80];
  50. extern struct rxs_command rxs_commandlist[];
  51. extern struct arb_p_state arb_p_state[];
  52. extern int command_cnt;
  53. extern char *rexx_extension;
  54. #endif
  55.  
  56. void ReplyRexxCommand( struct RexxMsg *rxmsg, long prim, long sec, char *res );
  57. void FreeRexxCommand( struct RexxMsg *rxmsg );
  58. struct RexxMsg *CreateRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  59. struct RexxMsg *CommandToRexx( struct RexxHost *host, struct RexxMsg *rexx_command_message );
  60. struct RexxMsg *SendRexxCommand( struct RexxHost *host, char *buff, BPTR fh );
  61.  
  62. void CloseDownARexxHost( struct RexxHost *host );
  63. struct RexxHost *SetupARexxHost( char *basename, struct MsgPort *usrport );
  64. struct rxs_command *FindRXCommand( char *com );
  65. char *ExpandRXCommand( struct RexxHost *host, char *command );
  66. char *StrDup( char *s );
  67. void ARexxDispatch( struct RexxHost *host );
  68.  
  69. /* rxd-Strukturen dürfen nur AM ENDE um lokale Variablen erweitert werden! */
  70.  
  71. struct rxd_connect
  72. {
  73.     long rc, rc2;
  74.     struct {
  75.         char *action;
  76.         long *actionindex;
  77.         char *host;
  78.         long *hostindex;
  79.         char *confirm;
  80.     } arg;
  81. };
  82.  
  83. void rx_connect( struct RexxHost *, struct rxd_connect **, long, struct RexxMsg * );
  84.  
  85. struct rxd_get
  86. {
  87.     long rc, rc2;
  88.     struct {
  89.         char *var, *stem;
  90.         long clients;
  91.         long actions;
  92.     } arg;
  93.     struct {
  94.         char *server;
  95.         long *port;
  96.         long *confirm;
  97.         long *connected;
  98.         long *numclients;
  99.         long *enabled;
  100.         long *numactions;
  101.         long *hidden;
  102.         char *comment;
  103.         long *lastentryclicked;
  104.         char **clients;
  105.         char **comments;
  106.         long **lastchanged;
  107.         char **actions;
  108.         char **commands;
  109.         long *currentaction;
  110.         char *logfile;
  111.         char *loglevel;
  112.         char **usernames;
  113.         char **realnames;
  114.         long **winopen;
  115.         char *viewby;
  116.         char *visibleto;
  117.         char *username;
  118.         char *realname;
  119.         long *logviewlevel;
  120.         long *logviewlength;
  121.         char *logonscript;
  122.         char *logoffscript;
  123.         char *updatescript;
  124.         char *connectscript;
  125.         char *endscript;
  126.         char *disconnectscript;
  127.         char *startscript;
  128.         char *defaultscript;
  129.         long *beeponlog;
  130.     } res;
  131. };
  132.  
  133. void rx_get( struct RexxHost *, struct rxd_get **, long, struct RexxMsg * );
  134.  
  135. struct rxd_quit
  136. {
  137.     long rc, rc2;
  138. };
  139.  
  140. void rx_quit( struct RexxHost *, struct rxd_quit **, long, struct RexxMsg * );
  141.  
  142. struct rxd_request
  143. {
  144.     long rc, rc2;
  145.     struct {
  146.         char *var, *stem;
  147.         char *title;
  148.         char *message;
  149.         char *buttons;
  150.     } arg;
  151.     struct {
  152.         long *clicked;
  153.     } res;
  154. };
  155.  
  156. void rx_request( struct RexxHost *, struct rxd_request **, long, struct RexxMsg * );
  157.  
  158. struct rxd_set
  159. {
  160.     long rc, rc2;
  161.     struct {
  162.         char *var, *stem;
  163.         char *enabled;
  164.         char *hidden;
  165.         char *confirm;
  166.         long *left;
  167.         long *top;
  168.         long *width;
  169.         long *height;
  170.         char *comment;
  171.         char *server;
  172.         char *windowtitle;
  173.         long *currentactionindex;
  174.         char *action;
  175.         long *port;
  176.         char *currentaction;
  177.         char *logfile;
  178.         char *loglevel;
  179.         char *viewby;
  180.         long *logviewlevel;
  181.         long *logviewlength;
  182.         char *logonscript;
  183.         char *logoffscript;
  184.         char *updatescript;
  185.         char *connectscript;
  186.         char *endscript;
  187.         char *disconnectscript;
  188.         char *startscript;
  189.         char *defaultscript;
  190.         char *beeponlog;
  191.     } arg;
  192.     struct {
  193.         long *actionindex;
  194.     } res;
  195. };
  196.  
  197. void rx_set( struct RexxHost *, struct rxd_set **, long, struct RexxMsg * );
  198.  
  199. #endif
  200.