Home | History | Annotate | Line # | Download | only in mail
      1 /*	$NetBSD: glob.h,v 1.13 2013/02/19 17:43:32 christos Exp $	*/
      2 
      3 /*
      4  * Copyright (c) 1980, 1993
      5  *	The Regents of the University of California.  All rights reserved.
      6  *
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  * 2. Redistributions in binary form must reproduce the above copyright
     13  *    notice, this list of conditions and the following disclaimer in the
     14  *    documentation and/or other materials provided with the distribution.
     15  * 3. Neither the name of the University nor the names of its contributors
     16  *    may be used to endorse or promote products derived from this software
     17  *    without specific prior written permission.
     18  *
     19  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     22  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     23  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     24  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     25  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     27  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     28  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     29  * SUCH DAMAGE.
     30  *
     31  *	from: @(#)glob.h	8.1 (Berkeley) 6/6/93
     32  *	$NetBSD: glob.h,v 1.13 2013/02/19 17:43:32 christos Exp $
     33  */
     34 
     35 /*
     36  * A bunch of global variable declarations lie herein.
     37  * def.h must be included first.
     38  */
     39 
     40 #ifndef __GLOB_H__
     41 #define __GLOB_H__
     42 
     43 #ifndef EXTERN
     44 #define EXTERN extern
     45 #endif
     46 
     47 EXTERN enum mailmode_e mailmode;		/* mode mail is running in */
     48 EXTERN int	sawcom;				/* Set after first command */
     49 EXTERN char	*Tflag;				/* -T temp file for netnews */
     50 EXTERN int	senderr;			/* An error while checking */
     51 EXTERN int	edit;				/* Indicates editing a file */
     52 EXTERN int	readonly;			/* Will be unable to rewrite file */
     53 EXTERN int	noreset;			/* String resets suspended */
     54 EXTERN int	sourcing;			/* Currently reading variant file */
     55 EXTERN int	loading;			/* Loading user definitions */
     56 
     57 EXTERN FILE	*itf;				/* Input temp file buffer */
     58 EXTERN FILE	*otf;				/* Output temp file buffer */
     59 EXTERN int	image;				/* File descriptor for image of msg */
     60 EXTERN FILE	*input;				/* Current command input file */
     61 EXTERN char	mailname[PATHSIZE];		/* Name of current file */
     62 EXTERN char	displayname[80];		/* Prettyfied for display */
     63 EXTERN char	prevfile[PATHSIZE];		/* Name of previous file */
     64 EXTERN char	*tmpdir;			/* Path name of temp directory */
     65 EXTERN char	*homedir;			/* Path name of home directory */
     66 EXTERN char	*origdir;			/* Path name of directory we started in */
     67 EXTERN char	*myname;			/* My login name */
     68 EXTERN off_t	mailsize;			/* Size of system mailbox */
     69 EXTERN struct	message	*dot;			/* Pointer to current message */
     70 EXTERN struct	var	*variables[HSHSIZE];	/* Pointer to active var list */
     71 EXTERN struct	grouphead	*groups[HSHSIZE];/* Pointer to active groups */
     72 EXTERN struct	smopts_s	*smoptstbl[HSHSIZE];
     73 EXTERN struct	ignoretab	ignore[2];	/* ignored and retained fields
     74 						   0 is ignore, 1 is retain */
     75 EXTERN struct	ignoretab	saveignore[2];	/* ignored and retained fields
     76 						   on save to folder */
     77 EXTERN struct	ignoretab	bouncetab[2];	/* special for bounce */
     78 EXTERN struct	ignoretab	ignoreall[2];	/* special, ignore all headers */
     79 #ifdef MIME_SUPPORT
     80 EXTERN struct	ignoretab	detachall[2];	/* special for detach, do all parts */
     81 EXTERN struct	ignoretab	forwardtab[2];	/* ignore tab used when forwarding */
     82 #endif
     83 EXTERN char	**altnames;			/* List of alternate names for user */
     84 EXTERN int	debug;				/* Debug flag set */
     85 EXTERN int	screenwidth;			/* Screen width, or best guess */
     86 EXTERN int	screenheight;			/* Screen height, or best guess,
     87 						   for "header" command */
     88 EXTERN int	realscreenheight;		/* the real screen height */
     89 EXTERN int	wait_status;			/* wait status set by wait_child() */
     90 
     91 EXTERN int	cond;				/* Current state of conditional exc. */
     92 EXTERN struct cond_stack_s	*cond_stack;	/* stack for if/else/endif condition */
     93 
     94 EXTERN struct name *extra_headers;		/* extra header lines */
     95 
     96 #endif /* __GLOB_H__ */
     97