home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / mail / glob.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-18  |  4.4 KB  |  101 lines

  1. /*
  2.  * Copyright (c) 1980 Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. All advertising materials mentioning features or use of this software
  14.  *    must display the following acknowledgement:
  15.  *    This product includes software developed by the University of
  16.  *    California, Berkeley and its contributors.
  17.  * 4. Neither the name of the University nor the names of its contributors
  18.  *    may be used to endorse or promote products derived from this software
  19.  *    without specific prior written permission.
  20.  *
  21.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  25.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31.  * SUCH DAMAGE.
  32.  *
  33.  *    @(#)glob.h    5.20 (Berkeley) 6/25/90
  34.  */
  35.  
  36. /*
  37.  * A bunch of global variable declarations lie herein.
  38.  * def.h must be included first.
  39.  */
  40.  
  41. int    msgCount;            /* Count of messages read in */
  42. int    rcvmode;            /* True if receiving mail */
  43. int    sawcom;                /* Set after first command */
  44. char    *Tflag;                /* -T temp file for netnews */
  45. int    senderr;            /* An error while checking */
  46. int    edit;                /* Indicates editing a file */
  47. int    readonly;            /* Will be unable to rewrite file */
  48. int    noreset;            /* String resets suspended */
  49. int    sourcing;            /* Currently reading variant file */
  50. int    loading;            /* Loading user definitions */
  51. int    cond;                /* Current state of conditional exc. */
  52. FILE    *itf;                /* Input temp file buffer */
  53. FILE    *otf;                /* Output temp file buffer */
  54. int    image;                /* File descriptor for image of msg */
  55. FILE    *input;                /* Current command input file */
  56. char    mailname[PATHSIZE];        /* Name of current file */
  57. char    prevfile[PATHSIZE];        /* Name of previous file */
  58. char    *homedir;            /* Path name of home directory */
  59. char    *myname;            /* My login name */
  60. off_t    mailsize;            /* Size of system mailbox */
  61. int    lexnumber;            /* Number of TNUMBER from scan() */
  62. char    lexstring[STRINGLEN];        /* String from TSTRING, scan() */
  63. int    regretp;            /* Pointer to TOS of regret tokens */
  64. int    regretstack[REGDEP];        /* Stack of regretted tokens */
  65. char    *string_stack[REGDEP];        /* Stack of regretted strings */
  66. int    numberstack[REGDEP];        /* Stack of regretted numbers */
  67. struct    message    *dot;            /* Pointer to current message */
  68. struct    message    *message;        /* The actual message structure */
  69. struct    var    *variables[HSHSIZE];    /* Pointer to active var list */
  70. struct    grouphead    *groups[HSHSIZE];/* Pointer to active groups */
  71. struct    ignoretab    ignore[2];    /* ignored and retained fields
  72.                        0 is ignore, 1 is retain */
  73. struct    ignoretab    saveignore[2];    /* ignored and retained fields
  74.                        on save to folder */
  75. struct    ignoretab    ignoreall[2];    /* special, ignore all headers */
  76. char    **altnames;            /* List of alternate names for user */
  77. int    debug;                /* Debug flag set */
  78. int    screenwidth;            /* Screen width, or best guess */
  79. int    screenheight;            /* Screen height, or best guess,
  80.                        for "header" command */
  81. int    realscreenheight;        /* the real screen height */
  82.  
  83. #include <setjmp.h>
  84.  
  85. jmp_buf    srbuf;
  86.  
  87.  
  88. /*
  89.  * The pointers for the string allocation routines,
  90.  * there are NSPACE independent areas.
  91.  * The first holds STRINGSIZE bytes, the next
  92.  * twice as much, and so on.
  93.  */
  94.  
  95. #define    NSPACE    25            /* Total number of string spaces */
  96. struct strings {
  97.     char    *s_topFree;        /* Beginning of this area */
  98.     char    *s_nextFree;        /* Next alloctable place here */
  99.     unsigned s_nleft;        /* Number of bytes left here */
  100. } stringdope[NSPACE];
  101.