home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 20 / AACD20.BIN / AACD / Programming / AmiSlate-Source / AmiSource-h / drawrexx.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-04  |  11.7 KB  |  700 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 _drawrexx_H
  7. #define _drawrexx_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_breakarexxscripts
  72. {
  73.     long rc, rc2;
  74. };
  75.  
  76. void rx_breakarexxscripts( struct RexxHost *, struct rxd_breakarexxscripts **, long, struct RexxMsg * );
  77.  
  78. struct rxd_circle
  79. {
  80.     long rc, rc2;
  81.     struct {
  82.         long *x;
  83.         long *y;
  84.         long *rx;
  85.         long *ry;
  86.         long fill;
  87.         long xor;
  88.     } arg;
  89. };
  90.  
  91. void rx_circle( struct RexxHost *, struct rxd_circle **, long, struct RexxMsg * );
  92.  
  93. struct rxd_clear
  94. {
  95.     long rc, rc2;
  96.     struct {
  97.         long xor;
  98.     } arg;
  99. };
  100.  
  101. void rx_clear( struct RexxHost *, struct rxd_clear **, long, struct RexxMsg * );
  102.  
  103. struct rxd_connect
  104. {
  105.     long rc, rc2;
  106.     struct {
  107.         char *hostname;
  108.     } arg;
  109. };
  110.  
  111. void rx_connect( struct RexxHost *, struct rxd_connect **, long, struct RexxMsg * );
  112.  
  113. struct rxd_disconnect
  114. {
  115.     long rc, rc2;
  116. };
  117.  
  118. void rx_disconnect( struct RexxHost *, struct rxd_disconnect **, long, struct RexxMsg * );
  119.  
  120. struct rxd_displaybeep
  121. {
  122.     long rc, rc2;
  123.     struct {
  124.         long local;
  125.         long remote;
  126.     } arg;
  127. };
  128.  
  129. void rx_displaybeep( struct RexxHost *, struct rxd_displaybeep **, long, struct RexxMsg * );
  130.  
  131. struct rxd_easyrequest
  132. {
  133.     long rc, rc2;
  134.     struct {
  135.         char *title;
  136.         char *message;
  137.         char *gadgets;
  138.     } arg;
  139. };
  140.  
  141. void rx_easyrequest( struct RexxHost *, struct rxd_easyrequest **, long, struct RexxMsg * );
  142.  
  143. struct rxd_filerequest
  144. {
  145.     long rc, rc2;
  146.     struct {
  147.         char *var, *stem;
  148.         char *title;
  149.         char *dir;
  150.         char *file;
  151.         char *oktext;
  152.         long save;
  153.     } arg;
  154.     struct {
  155.         char *file;
  156.     } res;
  157. };
  158.  
  159. void rx_filerequest( struct RexxHost *, struct rxd_filerequest **, long, struct RexxMsg * );
  160.  
  161. struct rxd_flood
  162. {
  163.     long rc, rc2;
  164.     struct {
  165.         long *x;
  166.         long *y;
  167.         long unsafe;
  168.     } arg;
  169. };
  170.  
  171. void rx_flood( struct RexxHost *, struct rxd_flood **, long, struct RexxMsg * );
  172.  
  173. struct rxd_getpixel
  174. {
  175.     long rc, rc2;
  176.     struct {
  177.         long *x;
  178.         long *y;
  179.     } arg;
  180. };
  181.  
  182. void rx_getpixel( struct RexxHost *, struct rxd_getpixel **, long, struct RexxMsg * );
  183.  
  184. struct rxd_getremotestateattrs
  185. {
  186.     long rc, rc2;
  187.     struct {
  188.         char *var, *stem;
  189.     } arg;
  190.     struct {
  191.         long *mode;
  192.         long *fpen;
  193.         long *bpen;
  194.         long *fred;
  195.         long *fgreen;
  196.         long *fblue;
  197.         long *bred;
  198.         long *bgreen;
  199.         long *bblue;
  200.     } res;
  201. };
  202.  
  203. void rx_getremotestateattrs( struct RexxHost *, struct rxd_getremotestateattrs **, long, struct RexxMsg * );
  204.  
  205. struct rxd_getstateattrs
  206. {
  207.     long rc, rc2;
  208.     struct {
  209.         char *var, *stem;
  210.     } arg;
  211.     struct {
  212.         long *mode;
  213.         long *fpen;
  214.         long *bpen;
  215.         long *fred;
  216.         long *fgreen;
  217.         long *fblue;
  218.         long *bred;
  219.         long *bgreen;
  220.         long *bblue;
  221.         long *pendown;
  222.         long *locked;
  223.         long *lockedpalettes;
  224.     } res;
  225. };
  226.  
  227. void rx_getstateattrs( struct RexxHost *, struct rxd_getstateattrs **, long, struct RexxMsg * );
  228.  
  229. struct rxd_getversion
  230. {
  231.     long rc, rc2;
  232.     struct {
  233.         char *var, *stem;
  234.     } arg;
  235.     struct {
  236.         char *version;
  237.     } res;
  238. };
  239.  
  240. void rx_getversion( struct RexxHost *, struct rxd_getversion **, long, struct RexxMsg * );
  241.  
  242. struct rxd_getwindowattrs
  243. {
  244.     long rc, rc2;
  245.     struct {
  246.         char *var, *stem;
  247.     } arg;
  248.     struct {
  249.         long *top;
  250.         long *left;
  251.         long *width;
  252.         long *height;
  253.         long *depth;
  254.         long *maxwidth;
  255.         long *maxheight;
  256.     } res;
  257. };
  258.  
  259. void rx_getwindowattrs( struct RexxHost *, struct rxd_getwindowattrs **, long, struct RexxMsg * );
  260.  
  261. struct rxd_line
  262. {
  263.     long rc, rc2;
  264.     struct {
  265.         long *x1;
  266.         long *y1;
  267.         long *x2;
  268.         long *y2;
  269.         long xor;
  270.     } arg;
  271. };
  272.  
  273. void rx_line( struct RexxHost *, struct rxd_line **, long, struct RexxMsg * );
  274.  
  275. struct rxd_loadiff
  276. {
  277.     long rc, rc2;
  278.     struct {
  279.         char *file;
  280.         long expand;
  281.         long loadpalette;
  282.         long protectgui;
  283.     } arg;
  284. };
  285.  
  286. void rx_loadiff( struct RexxHost *, struct rxd_loadiff **, long, struct RexxMsg * );
  287.  
  288. struct rxd_lock
  289. {
  290.     long rc, rc2;
  291.     struct {
  292.         char *var, *stem;
  293.         long on;
  294.         long off;
  295.     } arg;
  296.     struct {
  297.         long *state;
  298.     } res;
  299. };
  300.  
  301. void rx_lock( struct RexxHost *, struct rxd_lock **, long, struct RexxMsg * );
  302.  
  303. struct rxd_lockpalette
  304. {
  305.     long rc, rc2;
  306.     struct {
  307.         char *var, *stem;
  308.         long on;
  309.         long off;
  310.     } arg;
  311.     struct {
  312.         long *state;
  313.     } res;
  314. };
  315.  
  316. void rx_lockpalette( struct RexxHost *, struct rxd_lockpalette **, long, struct RexxMsg * );
  317.  
  318. struct rxd_pen
  319. {
  320.     long rc, rc2;
  321.     struct {
  322.         long *x;
  323.         long *y;
  324.         long xor;
  325.     } arg;
  326. };
  327.  
  328. void rx_pen( struct RexxHost *, struct rxd_pen **, long, struct RexxMsg * );
  329.  
  330. struct rxd_penreset
  331. {
  332.     long rc, rc2;
  333. };
  334.  
  335. void rx_penreset( struct RexxHost *, struct rxd_penreset **, long, struct RexxMsg * );
  336.  
  337. struct rxd_playscript
  338. {
  339.     long rc, rc2;
  340.     struct {
  341.         char *file;
  342.     } arg;
  343. };
  344.  
  345. void rx_playscript( struct RexxHost *, struct rxd_playscript **, long, struct RexxMsg * );
  346.  
  347. struct rxd_point
  348. {
  349.     long rc, rc2;
  350.     struct {
  351.         long *x;
  352.         long *y;
  353.         long xor;
  354.     } arg;
  355. };
  356.  
  357. void rx_point( struct RexxHost *, struct rxd_point **, long, struct RexxMsg * );
  358.  
  359. struct rxd_putrasterpixels
  360. {
  361.     long rc, rc2;
  362.     struct {
  363.         long *length;
  364.         long *red;
  365.         long *green;
  366.         long *blue;
  367.         long *pen;
  368.     } arg;
  369. };
  370.  
  371. void rx_putrasterpixels( struct RexxHost *, struct rxd_putrasterpixels **, long, struct RexxMsg * );
  372.  
  373. struct rxd_quit
  374. {
  375.     long rc, rc2;
  376.     struct {
  377.         long force;
  378.     } arg;
  379. };
  380.  
  381. void rx_quit( struct RexxHost *, struct rxd_quit **, long, struct RexxMsg * );
  382.  
  383. struct rxd_recordscript
  384. {
  385.     long rc, rc2;
  386.     struct {
  387.         char *file;
  388.         long force;
  389.         long start;
  390.         long stop;
  391.     } arg;
  392. };
  393.  
  394. void rx_recordscript( struct RexxHost *, struct rxd_recordscript **, long, struct RexxMsg * );
  395.  
  396. struct rxd_remoteeasyrequest
  397. {
  398.     long rc, rc2;
  399.     struct {
  400.         char *title;
  401.         char *message;
  402.         char *gadgets;
  403.     } arg;
  404. };
  405.  
  406. void rx_remoteeasyrequest( struct RexxHost *, struct rxd_remoteeasyrequest **, long, struct RexxMsg * );
  407.  
  408. struct rxd_remoterexxcommand
  409. {
  410.     long rc, rc2;
  411.     struct {
  412.         char *message;
  413.         char *file;
  414.     } arg;
  415. };
  416.  
  417. void rx_remoterexxcommand( struct RexxHost *, struct rxd_remoterexxcommand **, long, struct RexxMsg * );
  418.  
  419. struct rxd_remotestringrequest
  420. {
  421.     long rc, rc2;
  422.     struct {
  423.         char *title;
  424.         char *defaultstring;
  425.         char *message;
  426.     } arg;
  427. };
  428.  
  429. void rx_remotestringrequest( struct RexxHost *, struct rxd_remotestringrequest **, long, struct RexxMsg * );
  430.  
  431. struct rxd_saveiff
  432. {
  433.     long rc, rc2;
  434.     struct {
  435.         char *file;
  436.     } arg;
  437. };
  438.  
  439. void rx_saveiff( struct RexxHost *, struct rxd_saveiff **, long, struct RexxMsg * );
  440.  
  441. struct rxd_sendmessage
  442. {
  443.     long rc, rc2;
  444.     struct {
  445.         char *message;
  446.     } arg;
  447. };
  448.  
  449. void rx_sendmessage( struct RexxHost *, struct rxd_sendmessage **, long, struct RexxMsg * );
  450.  
  451. struct rxd_setbcolor
  452. {
  453.     long rc, rc2;
  454.     struct {
  455.         long *red;
  456.         long *green;
  457.         long *blue;
  458.         long notbackground;
  459.     } arg;
  460. };
  461.  
  462. void rx_setbcolor( struct RexxHost *, struct rxd_setbcolor **, long, struct RexxMsg * );
  463.  
  464. struct rxd_setbpen
  465. {
  466.     long rc, rc2;
  467.     struct {
  468.         long *pen;
  469.     } arg;
  470. };
  471.  
  472. void rx_setbpen( struct RexxHost *, struct rxd_setbpen **, long, struct RexxMsg * );
  473.  
  474. struct rxd_setfcolor
  475. {
  476.     long rc, rc2;
  477.     struct {
  478.         long *red;
  479.         long *green;
  480.         long *blue;
  481.         long notbackground;
  482.     } arg;
  483. };
  484.  
  485. void rx_setfcolor( struct RexxHost *, struct rxd_setfcolor **, long, struct RexxMsg * );
  486.  
  487. struct rxd_setfpen
  488. {
  489.     long rc, rc2;
  490.     struct {
  491.         long *pen;
  492.     } arg;
  493. };
  494.  
  495. void rx_setfpen( struct RexxHost *, struct rxd_setfpen **, long, struct RexxMsg * );
  496.  
  497. struct rxd_setraster
  498. {
  499.     long rc, rc2;
  500.     struct {
  501.         long *x;
  502.         long *y;
  503.         long *width;
  504.         long *height;
  505.         long *offset;
  506.     } arg;
  507. };
  508.  
  509. void rx_setraster( struct RexxHost *, struct rxd_setraster **, long, struct RexxMsg * );
  510.  
  511. struct rxd_setremotewindowtitle
  512. {
  513.     long rc, rc2;
  514.     struct {
  515.         char *message;
  516.     } arg;
  517. };
  518.  
  519. void rx_setremotewindowtitle( struct RexxHost *, struct rxd_setremotewindowtitle **, long, struct RexxMsg * );
  520.  
  521. struct rxd_settoolbehavior
  522. {
  523.     long rc, rc2;
  524.     struct {
  525.         long *tool;
  526.         long *mode;
  527.         char *pragma1;
  528.         char *pragma2;
  529.     } arg;
  530. };
  531.  
  532. void rx_settoolbehavior( struct RexxHost *, struct rxd_settoolbehavior **, long, struct RexxMsg * );
  533.  
  534. struct rxd_setuserbcolor
  535. {
  536.     long rc, rc2;
  537.     struct {
  538.         long *red;
  539.         long *green;
  540.         long *blue;
  541.         long notbackground;
  542.     } arg;
  543. };
  544.  
  545. void rx_setuserbcolor( struct RexxHost *, struct rxd_setuserbcolor **, long, struct RexxMsg * );
  546.  
  547. struct rxd_setuserbpen
  548. {
  549.     long rc, rc2;
  550.     struct {
  551.         long *pen;
  552.         long notbackground;
  553.     } arg;
  554. };
  555.  
  556. void rx_setuserbpen( struct RexxHost *, struct rxd_setuserbpen **, long, struct RexxMsg * );
  557.  
  558. struct rxd_setuserfcolor
  559. {
  560.     long rc, rc2;
  561.     struct {
  562.         long *red;
  563.         long *green;
  564.         long *blue;
  565.         long notbackground;
  566.     } arg;
  567. };
  568.  
  569. void rx_setuserfcolor( struct RexxHost *, struct rxd_setuserfcolor **, long, struct RexxMsg * );
  570.  
  571. struct rxd_setuserfpen
  572. {
  573.     long rc, rc2;
  574.     struct {
  575.         long *pen;
  576.         long notbackground;
  577.     } arg;
  578. };
  579.  
  580. void rx_setuserfpen( struct RexxHost *, struct rxd_setuserfpen **, long, struct RexxMsg * );
  581.  
  582. struct rxd_setusertool
  583. {
  584.     long rc, rc2;
  585.     struct {
  586.         long *tool;
  587.     } arg;
  588. };
  589.  
  590. void rx_setusertool( struct RexxHost *, struct rxd_setusertool **, long, struct RexxMsg * );
  591.  
  592. struct rxd_setwindowtitle
  593. {
  594.     long rc, rc2;
  595.     struct {
  596.         char *message;
  597.     } arg;
  598. };
  599.  
  600. void rx_setwindowtitle( struct RexxHost *, struct rxd_setwindowtitle **, long, struct RexxMsg * );
  601.  
  602. struct rxd_sizewindow
  603. {
  604.     long rc, rc2;
  605.     struct {
  606.         char *var, *stem;
  607.         long *top;
  608.         long *left;
  609.         long *width;
  610.         long *height;
  611.     } arg;
  612.     struct {
  613.         long *exact;
  614.         long *top;
  615.         long *left;
  616.         long *width;
  617.         long *height;
  618.     } res;
  619. };
  620.  
  621. void rx_sizewindow( struct RexxHost *, struct rxd_sizewindow **, long, struct RexxMsg * );
  622.  
  623. struct rxd_square
  624. {
  625.     long rc, rc2;
  626.     struct {
  627.         long *x1;
  628.         long *y1;
  629.         long *x2;
  630.         long *y2;
  631.         long fill;
  632.         long xor;
  633.     } arg;
  634. };
  635.  
  636. void rx_square( struct RexxHost *, struct rxd_square **, long, struct RexxMsg * );
  637.  
  638. struct rxd_stringrequest
  639. {
  640.     long rc, rc2;
  641.     struct {
  642.         char *var, *stem;
  643.         char *title;
  644.         char *defaultstring;
  645.         char *message;
  646.     } arg;
  647.     struct {
  648.         char *message;
  649.     } res;
  650. };
  651.  
  652. void rx_stringrequest( struct RexxHost *, struct rxd_stringrequest **, long, struct RexxMsg * );
  653.  
  654. struct rxd_typekeys
  655. {
  656.     long rc, rc2;
  657.     struct {
  658.         char *message;
  659.     } arg;
  660. };
  661.  
  662. void rx_typekeys( struct RexxHost *, struct rxd_typekeys **, long, struct RexxMsg * );
  663.  
  664. struct rxd_waitevent
  665. {
  666.     long rc, rc2;
  667.     struct {
  668.         char *var, *stem;
  669.         long *timeout;
  670.         long message;
  671.         long click;
  672.         long resize;
  673.         long quit;
  674.         long connect;
  675.         long disconnect;
  676.         long toolselect;
  677.         long colorselect;
  678.         long keypress;
  679.         long mousedown;
  680.         long mouseup;
  681.         long mousemove;
  682.     } arg;
  683.     struct {
  684.         long *type;
  685.         long *x;
  686.         long *y;
  687.         char *message;
  688.         long *code1;
  689.         long *code2;
  690.         long *mousex;
  691.         long *mousey;
  692.         long *button;
  693.         long *lastkey;
  694.     } res;
  695. };
  696.  
  697. void rx_waitevent( struct RexxHost *, struct rxd_waitevent **, long, struct RexxMsg * );
  698.  
  699. #endif
  700.