home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / x / volume13 / xmail / part02 / global.h < prev    next >
C/C++ Source or Header  |  1991-06-15  |  10KB  |  243 lines

  1. /*
  2.  * xmail - X window system interface to the mail program
  3.  *
  4.  * Copyright 1989 The University of Texas at Austin
  5.  *
  6.  * Author:    Po Cheung
  7.  * Date:    March 10, 1989
  8.  *
  9.  * Permission to use, copy, modify, and distribute this software and
  10.  * its documentation for any purpose and without fee is hereby granted,
  11.  * provided that the above copyright notice appear in all copies and that
  12.  * both that copyright notice and this permission notice appear in
  13.  * supporting documentation.  The University of Texas at Austin makes no 
  14.  * representations about the suitability of this software for any purpose.  
  15.  * It is provided "as is" without express or implied warranty.
  16.  *
  17.  * Copyright 1990 by National Semiconductor Corporation
  18.  *
  19.  * Permission to use, copy, modify, and distribute this software and its
  20.  * documentation for any purpose is hereby granted without fee, provided that
  21.  * the above copyright notice appear in all copies and that both that
  22.  * copyright notice and this permission notice appear in supporting
  23.  * documentation, and that the name of National Semiconductor Corporation not
  24.  * be used in advertising or publicity pertaining to distribution of the
  25.  * software without specific, written prior permission.
  26.  *
  27.  * NATIONAL SEMICONDUCTOR CORPORATION MAKES NO REPRESENTATIONS ABOUT THE
  28.  * SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.  IT IS PROVIDED "AS IS"
  29.  * WITHOUT EXPRESS OR IMPLIED WARRANTY.  NATIONAL SEMICONDUCTOR CORPORATION
  30.  * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
  31.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO
  32.  * EVENT SHALL NATIONAL SEMICONDUCTOR CORPORATION BE LIABLE FOR ANY SPECIAL,
  33.  * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  34.  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  35.  * OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  36.  * PERFORMANCE OF THIS SOFTWARE.
  37.  *
  38.  * Author:  Michael C. Wagnitz - National Semiconductor Corporation
  39.  *
  40.  */
  41.  
  42.  
  43. #include "defs.h"
  44.  
  45. /* HelpText.c */
  46.  
  47. extern String        Autograph_Info[];
  48. extern String        Copy_Info[];
  49. extern String        Default_Status_Info;
  50. extern String        Delete_Info[];
  51. extern String        Deliver_Info[];
  52. extern String        Folder_Info[];
  53. extern String        Hold_Info[];
  54. extern String        NewMail_Info[];
  55. extern String        Print_Info[];
  56. extern String        Quit_Info[];
  57. extern String        Read_Info[];
  58. extern String        Reply_Info[];
  59. extern String        Save_Info[];
  60. extern String        Send_Info[];
  61. extern String        SendMail_Info[];
  62.  
  63. extern String        Abort_Help;
  64. extern String        Bcc_Help;
  65. extern String        Cancel_Help;
  66. extern String        Cc_Help;
  67. extern String        Copy_Help;
  68. extern String        Delete_Help;
  69. extern String        Deliver_Help;
  70. extern String        File_Help;
  71. extern String        Folder_Help;
  72. extern String        Hold_Help;
  73. extern String        Index_Help;
  74. extern String        NewMail_Help;
  75. extern String        Print_Help;
  76. extern String        Quit_Help;
  77. extern String        Read_Help;
  78. extern String        ReEdit_Help;
  79. extern String        Reply_Help;
  80. extern String        Save_Help;
  81. extern String        Send_Help;
  82. extern String        Sign_Help;
  83. extern String        sign_Help;
  84. extern String        Status_Help;
  85. extern String        Subject_Help;
  86. extern String        Text_Help;
  87. extern String        Text2_Help;
  88. extern String        Title_Help;
  89. extern String        To_Help;
  90.  
  91. /* actions.c */
  92.  
  93. extern XtActionProc    CheckInsert();        /* for the file window */
  94. extern XtActionProc    DeleteChar();        /* for deletes (file window) */
  95. extern XtActionProc    DeleteLine();        /* in the file window */
  96. extern XtActionProc    DeleteWord();        /* also in the file window */
  97. extern XtActionProc    DoCmd();        /* effect specified command */
  98. extern XtActionProc    DoNothing();        /* dummy action routine */
  99. extern XtActionProc    DoReply();        /* invoke reply callback */
  100. extern XtActionProc    DoSave();        /* invoke the save callback */
  101. extern XtActionProc    DoSelected();        /* DoCmd w/ selected message */
  102. extern XtActionProc    Folder();        /* execute folder command */
  103. extern XtActionProc    Iconify();        /* iconification request */
  104. extern XtActionProc    MyNotify();        /* invokes callbacks w/ param */
  105. extern XtActionProc    NextField();        /* warps pointer to data fld */
  106. extern XtActionProc    PrintMsg();        /* send mail to the printer */
  107. extern XtActionProc    Quit();            /* termination procedure */
  108. extern XtActionProc    SetAliases();        /* menu list of alias names */
  109. extern XtActionProc    SetDirectory();        /* create folder files list */
  110. extern XtActionProc    SetFolders();        /* create a list of folders */
  111. extern XtActionProc    SetMenu();        /* Position set_menu popup */
  112. extern XtActionProc    SetPopup();        /* Position relative to owner */
  113. extern XtActionProc    SetSelect();        /* reposition select mark */
  114. extern XtActionProc    ShowHelp();        /* Position help & popup text */
  115.  
  116. /* callbacks.c */
  117.  
  118. extern XtCallbackProc    Autograph();        /* adds Signature to message */
  119. extern XtCallbackProc    Done();            /* completes mail delivery */
  120. extern XtCallbackProc    DoIt();            /* callback do specified cmd */
  121. extern XtCallbackProc    DoPrint();        /* callback printer execution */
  122. extern XtCallbackProc    DoQuit();        /* callback termination func */
  123. extern XtCallbackProc    DoSet();        /* callback to toggle options */
  124. extern XtCallbackProc    DoWith();        /* do cmd with arguments */
  125. extern XtCallbackProc    DropIt();        /* destroy Folder popup list */
  126. extern XtCallbackProc    GetAliasName();        /* retrieve alias name */
  127. extern XtCallbackProc    GetFolderName();    /* retrieve folder name */
  128. extern XtCallbackProc    ReEdit();        /* re-edit the mail message */
  129. extern XtCallbackProc    Reply();        /* use msg author and subject */
  130. extern XtCallbackProc    Save();            /* callback save routine */
  131. extern XtCallbackProc    SetNewmail();        /* highlight when new mail */
  132. extern XtCallbackProc    UnsetNewmail();        /* remove newmail highlight */
  133.  
  134. /* callMail.c */
  135.  
  136. extern void        callMail();        /* fork child, exec mail */
  137.  
  138. /* confirm.c */
  139.  
  140. extern Bool        Confirm();        /* Confirm destructive acts */
  141.  
  142. /* environs.c */
  143.  
  144. extern char        *GetMailEnv();        /* get value from mail env */
  145. extern char        *GetMailrc();        /* get mailrc item value */
  146. extern char        *alias();        /* get mailrc alias value */
  147.  
  148. /* handler.c */
  149.  
  150. extern int         In_System_Folder();    /* boolean test of folder */
  151. extern XtEventHandler    icon_handler();        /* handle iconify changes */
  152. extern int         index_handler();    /* highlight the msg number */
  153. extern void         info_handler();        /* change content of status */
  154. extern int         file_handler();        /* handle change of folder */
  155.  
  156. /* mail.c */
  157.  
  158. extern void         editMail();        /* create/compose a message */
  159. extern XtInputCallbackProc readMail();        /* get data from mail */
  160. extern void         sendMail();        /* used by Send/Reply cmds */
  161. extern void         writeMail();        /* send data to mail */
  162.  
  163. /* parser.c */
  164.  
  165. extern void        parser_init();        /* compile patterns */
  166. extern int        match();        /* eval command or output */
  167. extern void        parse();        /* parse mail output */
  168. extern char        *QueryMail();        /* ask mail for info */
  169.  
  170. /* utils.c */
  171.  
  172. extern void         Bell();            /* disp. error and sound bell */
  173. extern int        figureWidth();        /* get figure width for font */
  174. extern void         markIndex();        /* add/replace index marker */
  175. extern int         SelectionNumber();    /* get number of selected msg */
  176. extern void        SetCursor();        /* change between wait & norm */
  177. extern void         SetXY();        /* set widget x/y coordinates */
  178. extern XawTextPosition    TextGetLastPos();    /* get last pos of text */
  179. extern void        UpdateTitleBar();    /* file name and msg count */
  180. extern void         writeText();        /* write text to buffer */
  181. extern void         writeTo();        /* send text data to window */
  182.  
  183. /* windows.c */
  184.  
  185. extern void        AddHelpText();        /* Add help popup to window */
  186. extern void        AddMenuWindow();    /* Add menu popup to window */
  187. extern void        AddButton();        /* Add command to window */
  188. extern void        CreateButtons();    /* make the command buttons */
  189. extern void        CreateCommandPanel();    /* form for command buttons */
  190. extern void        CreateFileWindow();    /* a text input window */
  191. extern void        CreateFolderButton();    /* a special command button */
  192. extern void        CreateHelpWindow();    /* the help window base */
  193. extern void        CreateIndexWindow();    /* a text input window */
  194. extern void        CreateStatusWindow();    /* a text output window */
  195. extern void         CreateSubWindows();    /* all subwindows of xmail */
  196. extern void        CreateTextWindow();    /* another text window */
  197. extern void        CreateTitleBar();    /* a text output window */
  198. extern Widget        CreateInputWindow();    /* To, Subject, Cc, and Bcc */
  199. extern void        ParseIconGeometry();    /* Parse icon geometry */
  200.  
  201. /* xmail.c */
  202.  
  203. extern void        initialize();        /* main initialization code */
  204. extern char        **mailoptions();    /* sets up call to mail pgm */
  205.  
  206. /* extern functions */
  207.  
  208. extern char    *strchr(), *strrchr();
  209.  
  210. /* extern variables */
  211.  
  212. extern char    Command[BUFSIZ];    /* xmail command string        */
  213. extern char     Recipient[BUFSIZ];    /* message addressee        */
  214. extern char    FileBuf[BUFSIZ];    /* buffer for file widget    */
  215. extern char     SubjBuf[BUFSIZ];    /* message subject        */
  216. extern char     InReply[BUFSIZ];    /* reply reference string    */
  217. extern char     CcBuf[BUFSIZ];        /* message Cc list        */
  218. extern char     BccBuf[BUFSIZ];        /* message Bcc list        */
  219. extern char     tmpName[BUFSIZ];    /* message temporary filename    */
  220. extern char     *MailPrompt;        /* mail program prompt string    */
  221. extern char    **mailargv;        /* array passed to mail child    */
  222.  
  223. extern Cursor    waitC;            /* watch cursor, used when waiting */
  224. extern Cursor    xtermC;            /* xterm cursor, when not waiting */
  225. extern Pixmap    hatch;            /* cross_weave, used for Newmail */
  226. extern Boolean    In_Bogus_Mail_File;    /* in bogus folder when we're iconic */
  227. extern Widget    toplevel;         /* top level shell widget    */
  228. extern Atom    wmDeleteWindow;        /* for WM_DELETE_WINDOW property */
  229.  
  230. extern AliasRecPtr    *aliases;    /* array of mail alias strings    */
  231. extern helpList        HelpList;
  232. extern XmailResources    XMail;        /* XMail application resources */
  233.  
  234. extern int    mail_fd;        /* descriptor to mail process i/o */
  235.  
  236. extern int    mailargc;        /* counter passed to mail child    */
  237. extern int    RootWidth, RootHeight;
  238. extern int    mailpid;        /* mail process id */
  239. extern int    Highlighted;        /* state of 'Newmail' highlighting */
  240. extern int    mailInputId;        /* Identity of the XtAddInput call */
  241.  
  242. /* global.h */
  243.