home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Exec 5 / CD_Magazyn_EXEC_nr_5.iso / Programy / Internet / Poczta / YAM22src.lha / YAM_rexx.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-11-04  |  15.7 KB  |  954 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 _YAM_rexx_H
  7. #define _YAM_rexx_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_addrdelete
  72. {
  73.     long rc, rc2;
  74.     struct {
  75.         char *alias;
  76.     } arg;
  77. };
  78.  
  79. void rx_addrdelete( struct RexxHost *, struct rxd_addrdelete **, long, struct RexxMsg * );
  80.  
  81. struct rxd_addredit
  82. {
  83.     long rc, rc2;
  84.     struct {
  85.         char *alias;
  86.         char *name;
  87.         char *email;
  88.         char *pgp;
  89.         char *homepage;
  90.         char *street;
  91.         char *city;
  92.         char *country;
  93.         char *phone;
  94.         char *comment;
  95.         long *birthdate;
  96.         char *image;
  97.         char **member;
  98.         long add;
  99.     } arg;
  100. };
  101.  
  102. void rx_addredit( struct RexxHost *, struct rxd_addredit **, long, struct RexxMsg * );
  103.  
  104. struct rxd_addrfind
  105. {
  106.     long rc, rc2;
  107.     struct {
  108.         char *var, *stem;
  109.         char *pattern;
  110.         long nameonly;
  111.         long emailonly;
  112.     } arg;
  113.     struct {
  114.         char **alias;
  115.     } res;
  116. };
  117.  
  118. void rx_addrfind( struct RexxHost *, struct rxd_addrfind **, long, struct RexxMsg * );
  119.  
  120. struct rxd_addrgoto
  121. {
  122.     long rc, rc2;
  123.     struct {
  124.         char *alias;
  125.     } arg;
  126. };
  127.  
  128. void rx_addrgoto( struct RexxHost *, struct rxd_addrgoto **, long, struct RexxMsg * );
  129.  
  130. struct rxd_addrinfo
  131. {
  132.     long rc, rc2;
  133.     struct {
  134.         char *var, *stem;
  135.         char *alias;
  136.     } arg;
  137.     struct {
  138.         char *type;
  139.         char *name;
  140.         char *email;
  141.         char *pgp;
  142.         char *homepage;
  143.         char *street;
  144.         char *city;
  145.         char *country;
  146.         char *phone;
  147.         char *comment;
  148.         long *birthdate;
  149.         char *image;
  150.         char **members;
  151.     } res;
  152. };
  153.  
  154. void rx_addrinfo( struct RexxHost *, struct rxd_addrinfo **, long, struct RexxMsg * );
  155.  
  156. struct rxd_addrload
  157. {
  158.     long rc, rc2;
  159.     struct {
  160.         char *filename;
  161.     } arg;
  162. };
  163.  
  164. void rx_addrload( struct RexxHost *, struct rxd_addrload **, long, struct RexxMsg * );
  165.  
  166. struct rxd_addrnew
  167. {
  168.     long rc, rc2;
  169.     struct {
  170.         char *var, *stem;
  171.         char *type;
  172.         char *alias;
  173.         char *name;
  174.         char *email;
  175.     } arg;
  176.     struct {
  177.         char *alias;
  178.     } res;
  179. };
  180.  
  181. void rx_addrnew( struct RexxHost *, struct rxd_addrnew **, long, struct RexxMsg * );
  182.  
  183. struct rxd_addrresolve
  184. {
  185.     long rc, rc2;
  186.     struct {
  187.         char *var, *stem;
  188.         char *alias;
  189.     } arg;
  190.     struct {
  191.         char *recpt;
  192.     } res;
  193. };
  194.  
  195. void rx_addrresolve( struct RexxHost *, struct rxd_addrresolve **, long, struct RexxMsg * );
  196.  
  197. struct rxd_addrsave
  198. {
  199.     long rc, rc2;
  200.     struct {
  201.         char *filename;
  202.     } arg;
  203. };
  204.  
  205. void rx_addrsave( struct RexxHost *, struct rxd_addrsave **, long, struct RexxMsg * );
  206.  
  207. struct rxd_appbusy
  208. {
  209.     long rc, rc2;
  210.     struct {
  211.         char *text;
  212.     } arg;
  213. };
  214.  
  215. void rx_appbusy( struct RexxHost *, struct rxd_appbusy **, long, struct RexxMsg * );
  216.  
  217. struct rxd_appnobusy
  218. {
  219.     long rc, rc2;
  220. };
  221.  
  222. void rx_appnobusy( struct RexxHost *, struct rxd_appnobusy **, long, struct RexxMsg * );
  223.  
  224. struct rxd_folderinfo
  225. {
  226.     long rc, rc2;
  227.     struct {
  228.         char *var, *stem;
  229.         char *folder;
  230.     } arg;
  231.     struct {
  232.         long *number;
  233.         char *name;
  234.         char *path;
  235.         long *total;
  236.         long *new;
  237.         long *unread;
  238.         long *size;
  239.     } res;
  240. };
  241.  
  242. void rx_folderinfo( struct RexxHost *, struct rxd_folderinfo **, long, struct RexxMsg * );
  243.  
  244. struct rxd_getconfiginfo
  245. {
  246.     long rc, rc2;
  247.     struct {
  248.         char *var, *stem;
  249.         char *item;
  250.     } arg;
  251.     struct {
  252.         char *value;
  253.     } res;
  254. };
  255.  
  256. void rx_getconfiginfo( struct RexxHost *, struct rxd_getconfiginfo **, long, struct RexxMsg * );
  257.  
  258. struct rxd_getfolderinfo
  259. {
  260.     long rc, rc2;
  261.     struct {
  262.         char *var, *stem;
  263.         char *item;
  264.     } arg;
  265.     struct {
  266.         char *value;
  267.     } res;
  268. };
  269.  
  270. void rx_getfolderinfo( struct RexxHost *, struct rxd_getfolderinfo **, long, struct RexxMsg * );
  271.  
  272. struct rxd_getmailinfo
  273. {
  274.     long rc, rc2;
  275.     struct {
  276.         char *var, *stem;
  277.         char *item;
  278.     } arg;
  279.     struct {
  280.         char *value;
  281.     } res;
  282. };
  283.  
  284. void rx_getmailinfo( struct RexxHost *, struct rxd_getmailinfo **, long, struct RexxMsg * );
  285.  
  286. struct rxd_getselected
  287. {
  288.     long rc, rc2;
  289.     struct {
  290.         char *var, *stem;
  291.     } arg;
  292.     struct {
  293.         long **num;
  294.     } res;
  295. };
  296.  
  297. void rx_getselected( struct RexxHost *, struct rxd_getselected **, long, struct RexxMsg * );
  298.  
  299. struct rxd_geturl
  300. {
  301.     long rc, rc2;
  302.     struct {
  303.         char *url;
  304.         char *filename;
  305.     } arg;
  306. };
  307.  
  308. void rx_geturl( struct RexxHost *, struct rxd_geturl **, long, struct RexxMsg * );
  309.  
  310. struct rxd_help
  311. {
  312.     long rc, rc2;
  313.     struct {
  314.         char *file;
  315.     } arg;
  316. };
  317.  
  318. void rx_help( struct RexxHost *, struct rxd_help **, long, struct RexxMsg * );
  319.  
  320. struct rxd_hide
  321. {
  322.     long rc, rc2;
  323. };
  324.  
  325. void rx_hide( struct RexxHost *, struct rxd_hide **, long, struct RexxMsg * );
  326.  
  327. struct rxd_info
  328. {
  329.     long rc, rc2;
  330.     struct {
  331.         char *var, *stem;
  332.         char *item;
  333.     } arg;
  334.     struct {
  335.         char *value;
  336.     } res;
  337. };
  338.  
  339. void rx_info( struct RexxHost *, struct rxd_info **, long, struct RexxMsg * );
  340.  
  341. struct rxd_isonline
  342. {
  343.     long rc, rc2;
  344. };
  345.  
  346. void rx_isonline( struct RexxHost *, struct rxd_isonline **, long, struct RexxMsg * );
  347.  
  348. struct rxd_listselect
  349. {
  350.     long rc, rc2;
  351.     struct {
  352.         char *mode;
  353.     } arg;
  354. };
  355.  
  356. void rx_listselect( struct RexxHost *, struct rxd_listselect **, long, struct RexxMsg * );
  357.  
  358. struct rxd_mailarchive
  359. {
  360.     long rc, rc2;
  361.     struct {
  362.         char *folder;
  363.     } arg;
  364. };
  365.  
  366. void rx_mailarchive( struct RexxHost *, struct rxd_mailarchive **, long, struct RexxMsg * );
  367.  
  368. struct rxd_mailbounce
  369. {
  370.     long rc, rc2;
  371.     struct {
  372.         char *var, *stem;
  373.         long quiet;
  374.     } arg;
  375.     struct {
  376.         long *window;
  377.     } res;
  378. };
  379.  
  380. void rx_mailbounce( struct RexxHost *, struct rxd_mailbounce **, long, struct RexxMsg * );
  381.  
  382. struct rxd_mailchangesubject
  383. {
  384.     long rc, rc2;
  385.     struct {
  386.         char *subject;
  387.     } arg;
  388. };
  389.  
  390. void rx_mailchangesubject( struct RexxHost *, struct rxd_mailchangesubject **, long, struct RexxMsg * );
  391.  
  392. struct rxd_mailcheck
  393. {
  394.     long rc, rc2;
  395.     struct {
  396.         char *var, *stem;
  397.         long *pop;
  398.         long manual;
  399.     } arg;
  400.     struct {
  401.         long *downloaded;
  402.         long *onserver;
  403.         long *dupskipped;
  404.         long *deleted;
  405.     } res;
  406. };
  407.  
  408. void rx_mailcheck( struct RexxHost *, struct rxd_mailcheck **, long, struct RexxMsg * );
  409.  
  410. struct rxd_mailcopy
  411. {
  412.     long rc, rc2;
  413.     struct {
  414.         char *folder;
  415.     } arg;
  416. };
  417.  
  418. void rx_mailcopy( struct RexxHost *, struct rxd_mailcopy **, long, struct RexxMsg * );
  419.  
  420. struct rxd_maildelete
  421. {
  422.     long rc, rc2;
  423.     struct {
  424.         long atonce;
  425.         long force;
  426.     } arg;
  427. };
  428.  
  429. void rx_maildelete( struct RexxHost *, struct rxd_maildelete **, long, struct RexxMsg * );
  430.  
  431. struct rxd_mailedit
  432. {
  433.     long rc, rc2;
  434.     struct {
  435.         char *var, *stem;
  436.         long quiet;
  437.     } arg;
  438.     struct {
  439.         long *window;
  440.     } res;
  441. };
  442.  
  443. void rx_mailedit( struct RexxHost *, struct rxd_mailedit **, long, struct RexxMsg * );
  444.  
  445. struct rxd_mailexport
  446. {
  447.     long rc, rc2;
  448.     struct {
  449.         char *filename;
  450.         long all;
  451.         long append;
  452.     } arg;
  453. };
  454.  
  455. void rx_mailexport( struct RexxHost *, struct rxd_mailexport **, long, struct RexxMsg * );
  456.  
  457. struct rxd_mailfilter
  458. {
  459.     long rc, rc2;
  460.     struct {
  461.         char *var, *stem;
  462.         long all;
  463.     } arg;
  464.     struct {
  465.         long *checked;
  466.         long *bounced;
  467.         long *forwarded;
  468.         long *replied;
  469.         long *executed;
  470.         long *moved;
  471.         long *deleted;
  472.     } res;
  473. };
  474.  
  475. void rx_mailfilter( struct RexxHost *, struct rxd_mailfilter **, long, struct RexxMsg * );
  476.  
  477. struct rxd_mailforward
  478. {
  479.     long rc, rc2;
  480.     struct {
  481.         char *var, *stem;
  482.         long quiet;
  483.     } arg;
  484.     struct {
  485.         long *window;
  486.     } res;
  487. };
  488.  
  489. void rx_mailforward( struct RexxHost *, struct rxd_mailforward **, long, struct RexxMsg * );
  490.  
  491. struct rxd_mailimport
  492. {
  493.     long rc, rc2;
  494.     struct {
  495.         char *filename;
  496.         long wait;
  497.     } arg;
  498. };
  499.  
  500. void rx_mailimport( struct RexxHost *, struct rxd_mailimport **, long, struct RexxMsg * );
  501.  
  502. struct rxd_mailinfo
  503. {
  504.     long rc, rc2;
  505.     struct {
  506.         char *var, *stem;
  507.         long *index;
  508.     } arg;
  509.     struct {
  510.         long *index;
  511.         char *status;
  512.         char *from;
  513.         char *to;
  514.         char *replyto;
  515.         char *subject;
  516.         char *filename;
  517.         long *size;
  518.         char *date;
  519.         char *flags;
  520.         long *msgid;
  521.     } res;
  522. };
  523.  
  524. void rx_mailinfo( struct RexxHost *, struct rxd_mailinfo **, long, struct RexxMsg * );
  525.  
  526. struct rxd_mailmove
  527. {
  528.     long rc, rc2;
  529.     struct {
  530.         char *folder;
  531.     } arg;
  532. };
  533.  
  534. void rx_mailmove( struct RexxHost *, struct rxd_mailmove **, long, struct RexxMsg * );
  535.  
  536. struct rxd_mailread
  537. {
  538.     long rc, rc2;
  539.     struct {
  540.         char *var, *stem;
  541.         long *window;
  542.         long quiet;
  543.     } arg;
  544.     struct {
  545.         long *window;
  546.     } res;
  547. };
  548.  
  549. void rx_mailread( struct RexxHost *, struct rxd_mailread **, long, struct RexxMsg * );
  550.  
  551. struct rxd_mailreply
  552. {
  553.     long rc, rc2;
  554.     struct {
  555.         char *var, *stem;
  556.         long quiet;
  557.     } arg;
  558.     struct {
  559.         long *window;
  560.     } res;
  561. };
  562.  
  563. void rx_mailreply( struct RexxHost *, struct rxd_mailreply **, long, struct RexxMsg * );
  564.  
  565. struct rxd_mailsend
  566. {
  567.     long rc, rc2;
  568.     struct {
  569.         long all;
  570.     } arg;
  571. };
  572.  
  573. void rx_mailsend( struct RexxHost *, struct rxd_mailsend **, long, struct RexxMsg * );
  574.  
  575. struct rxd_mailsendall
  576. {
  577.     long rc, rc2;
  578. };
  579.  
  580. void rx_mailsendall( struct RexxHost *, struct rxd_mailsendall **, long, struct RexxMsg * );
  581.  
  582. struct rxd_mailstatus
  583. {
  584.     long rc, rc2;
  585.     struct {
  586.         char *status;
  587.     } arg;
  588. };
  589.  
  590. void rx_mailstatus( struct RexxHost *, struct rxd_mailstatus **, long, struct RexxMsg * );
  591.  
  592. struct rxd_mailupdate
  593. {
  594.     long rc, rc2;
  595. };
  596.  
  597. void rx_mailupdate( struct RexxHost *, struct rxd_mailupdate **, long, struct RexxMsg * );
  598.  
  599. struct rxd_mailwrite
  600. {
  601.     long rc, rc2;
  602.     struct {
  603.         char *var, *stem;
  604.         long *window;
  605.         long quiet;
  606.     } arg;
  607.     struct {
  608.         long *window;
  609.     } res;
  610. };
  611.  
  612. void rx_mailwrite( struct RexxHost *, struct rxd_mailwrite **, long, struct RexxMsg * );
  613.  
  614. struct rxd_newmailfile
  615. {
  616.     long rc, rc2;
  617.     struct {
  618.         char *var, *stem;
  619.         char *folder;
  620.     } arg;
  621.     struct {
  622.         char *filename;
  623.     } res;
  624. };
  625.  
  626. void rx_newmailfile( struct RexxHost *, struct rxd_newmailfile **, long, struct RexxMsg * );
  627.  
  628. struct rxd_quit
  629. {
  630.     long rc, rc2;
  631.     struct {
  632.         long force;
  633.     } arg;
  634. };
  635.  
  636. void rx_quit( struct RexxHost *, struct rxd_quit **, long, struct RexxMsg * );
  637.  
  638. struct rxd_readclose
  639. {
  640.     long rc, rc2;
  641. };
  642.  
  643. void rx_readclose( struct RexxHost *, struct rxd_readclose **, long, struct RexxMsg * );
  644.  
  645. struct rxd_readinfo
  646. {
  647.     long rc, rc2;
  648.     struct {
  649.         char *var, *stem;
  650.     } arg;
  651.     struct {
  652.         char **filename;
  653.         char **filetype;
  654.         long **filesize;
  655.         char **tempfile;
  656.     } res;
  657. };
  658.  
  659. void rx_readinfo( struct RexxHost *, struct rxd_readinfo **, long, struct RexxMsg * );
  660.  
  661. struct rxd_readprint
  662. {
  663.     long rc, rc2;
  664.     struct {
  665.         long *part;
  666.     } arg;
  667. };
  668.  
  669. void rx_readprint( struct RexxHost *, struct rxd_readprint **, long, struct RexxMsg * );
  670.  
  671. struct rxd_readsave
  672. {
  673.     long rc, rc2;
  674.     struct {
  675.         long *part;
  676.         char *filename;
  677.         long overwrite;
  678.     } arg;
  679. };
  680.  
  681. void rx_readsave( struct RexxHost *, struct rxd_readsave **, long, struct RexxMsg * );
  682.  
  683. struct rxd_request
  684. {
  685.     long rc, rc2;
  686.     struct {
  687.         char *var, *stem;
  688.         char *body;
  689.         char *gadgets;
  690.     } arg;
  691.     struct {
  692.         long *result;
  693.     } res;
  694. };
  695.  
  696. void rx_request( struct RexxHost *, struct rxd_request **, long, struct RexxMsg * );
  697.  
  698. struct rxd_requestfolder
  699. {
  700.     long rc, rc2;
  701.     struct {
  702.         char *var, *stem;
  703.         char *body;
  704.         long excludeactive;
  705.     } arg;
  706.     struct {
  707.         char *folder;
  708.     } res;
  709. };
  710.  
  711. void rx_requestfolder( struct RexxHost *, struct rxd_requestfolder **, long, struct RexxMsg * );
  712.  
  713. struct rxd_requeststring
  714. {
  715.     long rc, rc2;
  716.     struct {
  717.         char *var, *stem;
  718.         char *body;
  719.         char *string;
  720.         long secret;
  721.     } arg;
  722.     struct {
  723.         char *string;
  724.     } res;
  725. };
  726.  
  727. void rx_requeststring( struct RexxHost *, struct rxd_requeststring **, long, struct RexxMsg * );
  728.  
  729. struct rxd_screentoback
  730. {
  731.     long rc, rc2;
  732. };
  733.  
  734. void rx_screentoback( struct RexxHost *, struct rxd_screentoback **, long, struct RexxMsg * );
  735.  
  736. struct rxd_screentofront
  737. {
  738.     long rc, rc2;
  739. };
  740.  
  741. void rx_screentofront( struct RexxHost *, struct rxd_screentofront **, long, struct RexxMsg * );
  742.  
  743. struct rxd_setflag
  744. {
  745.     long rc, rc2;
  746.     struct {
  747.         long *vol;
  748.         long *per;
  749.     } arg;
  750. };
  751.  
  752. void rx_setflag( struct RexxHost *, struct rxd_setflag **, long, struct RexxMsg * );
  753.  
  754. struct rxd_setfolder
  755. {
  756.     long rc, rc2;
  757.     struct {
  758.         char *folder;
  759.     } arg;
  760. };
  761.  
  762. void rx_setfolder( struct RexxHost *, struct rxd_setfolder **, long, struct RexxMsg * );
  763.  
  764. struct rxd_setmail
  765. {
  766.     long rc, rc2;
  767.     struct {
  768.         long *num;
  769.     } arg;
  770. };
  771.  
  772. void rx_setmail( struct RexxHost *, struct rxd_setmail **, long, struct RexxMsg * );
  773.  
  774. struct rxd_setmailfile
  775. {
  776.     long rc, rc2;
  777.     struct {
  778.         char *mailfile;
  779.     } arg;
  780. };
  781.  
  782. void rx_setmailfile( struct RexxHost *, struct rxd_setmailfile **, long, struct RexxMsg * );
  783.  
  784. struct rxd_show
  785. {
  786.     long rc, rc2;
  787. };
  788.  
  789. void rx_show( struct RexxHost *, struct rxd_show **, long, struct RexxMsg * );
  790.  
  791. struct rxd_userinfo
  792. {
  793.     long rc, rc2;
  794.     struct {
  795.         char *var, *stem;
  796.     } arg;
  797.     struct {
  798.         char *username;
  799.         char *email;
  800.         char *realname;
  801.         char *config;
  802.         char *maildir;
  803.         long *folders;
  804.     } res;
  805. };
  806.  
  807. void rx_userinfo( struct RexxHost *, struct rxd_userinfo **, long, struct RexxMsg * );
  808.  
  809. struct rxd_writeattach
  810. {
  811.     long rc, rc2;
  812.     struct {
  813.         char *file;
  814.         char *desc;
  815.         char *encmode;
  816.         char *ctype;
  817.     } arg;
  818. };
  819.  
  820. void rx_writeattach( struct RexxHost *, struct rxd_writeattach **, long, struct RexxMsg * );
  821.  
  822. struct rxd_writebcc
  823. {
  824.     long rc, rc2;
  825.     struct {
  826.         char **address;
  827.         long add;
  828.     } arg;
  829. };
  830.  
  831. void rx_writebcc( struct RexxHost *, struct rxd_writebcc **, long, struct RexxMsg * );
  832.  
  833. struct rxd_writecc
  834. {
  835.     long rc, rc2;
  836.     struct {
  837.         char **address;
  838.         long add;
  839.     } arg;
  840. };
  841.  
  842. void rx_writecc( struct RexxHost *, struct rxd_writecc **, long, struct RexxMsg * );
  843.  
  844. struct rxd_writeeditor
  845. {
  846.     long rc, rc2;
  847.     struct {
  848.         char *var, *stem;
  849.         char *command;
  850.     } arg;
  851.     struct {
  852.         char *result;
  853.     } res;
  854. };
  855.  
  856. void rx_writeeditor( struct RexxHost *, struct rxd_writeeditor **, long, struct RexxMsg * );
  857.  
  858. struct rxd_writefrom
  859. {
  860.     long rc, rc2;
  861.     struct {
  862.         char *address;
  863.     } arg;
  864. };
  865.  
  866. void rx_writefrom( struct RexxHost *, struct rxd_writefrom **, long, struct RexxMsg * );
  867.  
  868. struct rxd_writeletter
  869. {
  870.     long rc, rc2;
  871.     struct {
  872.         char *file;
  873.         long nosig;
  874.     } arg;
  875. };
  876.  
  877. void rx_writeletter( struct RexxHost *, struct rxd_writeletter **, long, struct RexxMsg * );
  878.  
  879. struct rxd_writemailto
  880. {
  881.     long rc, rc2;
  882.     struct {
  883.         char **address;
  884.     } arg;
  885. };
  886.  
  887. void rx_writemailto( struct RexxHost *, struct rxd_writemailto **, long, struct RexxMsg * );
  888.  
  889. struct rxd_writeoptions
  890. {
  891.     long rc, rc2;
  892.     struct {
  893.         long delete;
  894.         long receipt;
  895.         long notif;
  896.         long addinfo;
  897.         long *importance;
  898.         long *sig;
  899.         long *security;
  900.     } arg;
  901. };
  902.  
  903. void rx_writeoptions( struct RexxHost *, struct rxd_writeoptions **, long, struct RexxMsg * );
  904.  
  905. struct rxd_writequeue
  906. {
  907.     long rc, rc2;
  908.     struct {
  909.         long hold;
  910.     } arg;
  911. };
  912.  
  913. void rx_writequeue( struct RexxHost *, struct rxd_writequeue **, long, struct RexxMsg * );
  914.  
  915. struct rxd_writereplyto
  916. {
  917.     long rc, rc2;
  918.     struct {
  919.         char *address;
  920.     } arg;
  921. };
  922.  
  923. void rx_writereplyto( struct RexxHost *, struct rxd_writereplyto **, long, struct RexxMsg * );
  924.  
  925. struct rxd_writesend
  926. {
  927.     long rc, rc2;
  928. };
  929.  
  930. void rx_writesend( struct RexxHost *, struct rxd_writesend **, long, struct RexxMsg * );
  931.  
  932. struct rxd_writesubject
  933. {
  934.     long rc, rc2;
  935.     struct {
  936.         char *subject;
  937.     } arg;
  938. };
  939.  
  940. void rx_writesubject( struct RexxHost *, struct rxd_writesubject **, long, struct RexxMsg * );
  941.  
  942. struct rxd_writeto
  943. {
  944.     long rc, rc2;
  945.     struct {
  946.         char **address;
  947.         long add;
  948.     } arg;
  949. };
  950.  
  951. void rx_writeto( struct RexxHost *, struct rxd_writeto **, long, struct RexxMsg * );
  952.  
  953. #endif
  954.