122475Sdist /* 2*62083Sbostic * Copyright (c) 1980, 1993 3*62083Sbostic * The Regents of the University of California. All rights reserved. 422475Sdist * 542741Sbostic * %sccs.include.redist.c% 633499Sbostic * 7*62083Sbostic * @(#)glob.h 8.1 (Berkeley) 06/06/93 822475Sdist */ 914532Ssam 101255Skas /* 111255Skas * A bunch of global variable declarations lie herein. 121255Skas * def.h must be included first. 131255Skas */ 141255Skas 151255Skas int msgCount; /* Count of messages read in */ 161255Skas int rcvmode; /* True if receiving mail */ 171255Skas int sawcom; /* Set after first command */ 184021Skurt char *Tflag; /* -T temp file for netnews */ 191255Skas int senderr; /* An error while checking */ 201255Skas int edit; /* Indicates editing a file */ 211371Skas int readonly; /* Will be unable to rewrite file */ 221255Skas int noreset; /* String resets suspended */ 231255Skas int sourcing; /* Currently reading variant file */ 245787Skurt int loading; /* Loading user definitions */ 251525Skas int cond; /* Current state of conditional exc. */ 261255Skas FILE *itf; /* Input temp file buffer */ 271255Skas FILE *otf; /* Output temp file buffer */ 281255Skas int image; /* File descriptor for image of msg */ 291255Skas FILE *input; /* Current command input file */ 3034753Sedward char mailname[PATHSIZE]; /* Name of current file */ 3134753Sedward char prevfile[PATHSIZE]; /* Name of previous file */ 3234968Sedward char *homedir; /* Path name of home directory */ 3334968Sedward char *myname; /* My login name */ 341255Skas off_t mailsize; /* Size of system mailbox */ 351255Skas int lexnumber; /* Number of TNUMBER from scan() */ 361255Skas char lexstring[STRINGLEN]; /* String from TSTRING, scan() */ 371255Skas int regretp; /* Pointer to TOS of regret tokens */ 381255Skas int regretstack[REGDEP]; /* Stack of regretted tokens */ 3935976Sedward char *string_stack[REGDEP]; /* Stack of regretted strings */ 401255Skas int numberstack[REGDEP]; /* Stack of regretted numbers */ 411255Skas struct message *dot; /* Pointer to current message */ 421255Skas struct message *message; /* The actual message structure */ 431255Skas struct var *variables[HSHSIZE]; /* Pointer to active var list */ 441255Skas struct grouphead *groups[HSHSIZE];/* Pointer to active groups */ 4534692Sedward struct ignoretab ignore[2]; /* ignored and retained fields 4634692Sedward 0 is ignore, 1 is retain */ 4734692Sedward struct ignoretab saveignore[2]; /* ignored and retained fields 4834692Sedward on save to folder */ 4934969Sedward struct ignoretab ignoreall[2]; /* special, ignore all headers */ 504395Skurt char **altnames; /* List of alternate names for user */ 511255Skas int debug; /* Debug flag set */ 5231142Sedward int screenwidth; /* Screen width, or best guess */ 5334749Sedward int screenheight; /* Screen height, or best guess, 5434749Sedward for "header" command */ 5534749Sedward int realscreenheight; /* the real screen height */ 561255Skas 571255Skas #include <setjmp.h> 581255Skas 591255Skas jmp_buf srbuf; 601255Skas 611255Skas 621255Skas /* 631255Skas * The pointers for the string allocation routines, 641255Skas * there are NSPACE independent areas. 651255Skas * The first holds STRINGSIZE bytes, the next 661255Skas * twice as much, and so on. 671255Skas */ 681255Skas 694129Skurt #define NSPACE 25 /* Total number of string spaces */ 701255Skas struct strings { 711255Skas char *s_topFree; /* Beginning of this area */ 721255Skas char *s_nextFree; /* Next alloctable place here */ 731255Skas unsigned s_nleft; /* Number of bytes left here */ 741255Skas } stringdope[NSPACE]; 75