X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/6fff2fd590c4866063acc55b453d1ea81264bc72..d17d83c72d026d0fe46257f1fb97355bc630273e:/usr/src/usr.bin/mail/def.h diff --git a/usr/src/usr.bin/mail/def.h b/usr/src/usr.bin/mail/def.h index 8f948fe468..39f1bf9fd1 100644 --- a/usr/src/usr.bin/mail/def.h +++ b/usr/src/usr.bin/mail/def.h @@ -1,15 +1,16 @@ # -#include "local.h" #include #include #include +#include +#include "local.h" #undef isalpha #undef isdigit /* - * Sccs Id = "@(#)def.h 1.3 %G%"; + * Sccs Id = "@(#)def.h 2.7 %G%"; */ /* @@ -34,12 +35,11 @@ #define ESCAPE '~' /* Default escape for sending */ #define NMLSIZE 20 /* max names in a message list */ -#define PATHSIZE 35 /* Size of pathnames throughout */ +#define PATHSIZE 100 /* Size of pathnames throughout */ #define NAMESIZE 20 /* Max size of user name */ #define HSHSIZE 19 /* Hash size for aliases and vars */ #define HDRFIELDS 3 /* Number of header fields */ -#define LINESIZE 512 /* max readable line width */ -#define SCREEN 18 /* screen size in lines (effective) */ +#define LINESIZE BUFSIZ /* max readable line width */ #define STRINGSIZE ((unsigned) 128)/* Dynamic allocation units */ #define MAXARGC 20 /* Maximum list of raw strings */ #define NOSTR ((char *) 0) /* Null string pointer */ @@ -58,13 +58,17 @@ struct message { * flag bits. */ -#define MUSED 1 /* entry is used, but this bit isn't */ -#define MDELETED 2 /* entry has been deleted */ -#define MSAVED 4 /* entry has been saved */ -#define MTOUCH 8 /* entry has been noticed */ -#define MPRESERVE 16 /* keep entry in sys mailbox */ -#define MMARK 32 /* message is marked! */ -#define MODIFY 64 /* message has been modified */ +#define MUSED (1<<0) /* entry is used, but this bit isn't */ +#define MDELETED (1<<1) /* entry has been deleted */ +#define MSAVED (1<<2) /* entry has been saved */ +#define MTOUCH (1<<3) /* entry has been noticed */ +#define MPRESERVE (1<<4) /* keep entry in sys mailbox */ +#define MMARK (1<<5) /* message is marked! */ +#define MODIFY (1<<6) /* message has been modified */ +#define MNEW (1<<7) /* message has never been seen */ +#define MREAD (1<<8) /* message has been read sometime. */ +#define MSTATUS (1<<9) /* message status has changed */ +#define MBOX (1<<10) /* Send this to mbox, regardless */ /* * Format of the command description table. @@ -97,8 +101,11 @@ struct cmd { #define P 040 /* Autoprint dot after command */ #define I 0100 /* Interactive command bit */ -#define M 0200 /* Illegal from send mode bit */ +#define M 0200 /* Legal from send mode bit */ #define W 0400 /* Illegal when read only bit */ +#define F 01000 /* Is a conditional command */ +#define T 02000 /* Is a transparent command */ +#define R 04000 /* Cannot be called from collect */ /* * Oft-used mask values @@ -184,6 +191,14 @@ struct grouphead { #define NOGRP ((struct grouphead *) 0)/* The nil grouphead pointer */ #define NOGE ((struct group *) 0) /* The nil group pointer */ +/* + * Structure of the hash table of ignored header fields + */ +struct ignore { + struct ignore *i_link; /* Next ignored field in bucket */ + char *i_field; /* This ignored field */ +}; + /* * Token values returned by the scanner used for argument lists. * Also, sizes of scanner-related things. @@ -204,6 +219,15 @@ struct grouphead { #define REGDEP 2 /* Maximum regret depth. */ #define STRINGLEN 64 /* Maximum length of string token */ +/* + * Constants for conditional commands. These describe whether + * we should be executing stuff or not. + */ + +#define CANY 0 /* Execute in send or receive mode */ +#define CRCV 1 /* Execute in receive mode only */ +#define CSEND 2 /* Execute in send mode only */ + /* * Kludges to handle the change from setexit / reset to setjmp / longjmp */ @@ -229,6 +253,7 @@ FILE *collect(); FILE *infix(); FILE *mesedit(); FILE *mespipe(); +FILE *popen(); FILE *setinput(); char **unpack(); char *addto(); @@ -241,6 +266,7 @@ char *expand(); char *gets(); char *hfield(); char *index(); +char *name1(); char *nameof(); char *nextword(); char *getenv(); @@ -249,6 +275,7 @@ char *hcontents(); char *netmap(); char *netname(); char *readtty(); +char *reedit(); char *rename(); char *revarpa(); char *rindex(); @@ -256,11 +283,13 @@ char *rpair(); char *salloc(); char *savestr(); char *savestr(); +char *skin(); char *snarf(); char *value(); char *vcopy(); char *yankword(); off_t fsize(); +int (*sigset())(); struct cmd *lex(); struct grouphead *findgroup(); struct name *cat();