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