Mercurial > hg > Applications > mh
diff config/config.c @ 0:bce86c4163a3
Initial revision
author | kono |
---|---|
date | Mon, 18 Apr 2005 23:46:02 +0900 |
parents | |
children | f89a9a79e124 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/config.c Mon Apr 18 23:46:02 2005 +0900 @@ -0,0 +1,369 @@ +/* config.c - master MH configuration file */ +#ifndef lint +static char ident[] = "@(#)$Id$"; +#endif /* lint */ + +/* This file is automatically generated. Do not edit! */ + +/* LINTLIBRARY */ + +#include "../h/mh.h" +#ifdef MHRC +#include <pwd.h> +#endif /* MHRC */ +#include <stdio.h> + + +#if defined(__STDC__) +#define binpath(file) "/usr/local/mh/bin/"#file +#define etcpath(file) "/usr/local/mh/lib/"#file +#else +#define binpath(file) "/usr/local/mh/bin/file" +#define etcpath(file) "/usr/local/mh/lib/file" +#endif + +static char Config[] = "@(#)Config: MH"; + +char *options[] = {"APOP", "ATHENA", "BIND", "BSD42", "BSD43", "BSD44", "DBMPWD", "DUMB", "FOLDPROT='\"0700\"'", "GCOS_HACK", "ISI", "JAPAN", "MAILGROUP", "MHE", "MHRC", "MH_PLUS", "MIME", "MIME_HEADERS", "MORE='\"/usr/local/bin/jless\"'", "MSGPROT='\"0600\"'", "NNTP", "NORUSERPASS", "OVERHEAD", "POP", "POPSERVICE='\"pop\"'", "POSIX", "RPATHS", "SBACKUP='\"\043\"'", "SENDMTS", "SETMG", "SMTP", "SPRINTFTYPE=int", "SYS5DIR", "TYPESIG=void", "UNISTD", "VSPRINTF", "WAITINT", "WHATNOW", "ZONEINFO", NULL}; + + +#ifndef __STDC__ +#ifdef MHRC +#ifdef SYS5 +struct passwd *getpwnam (); +#endif /* SYS5 */ +#endif /* MHRC */ +#endif + +/* */ + +static char lpath[BUFSIZ]; + +char *libpath (file) +char *file; +{ + char *cp; +#ifdef MHRC + char *pp; + struct passwd *pw; +#endif /* MHRC */ + +#ifdef MHRC + m_getdefs (); +#endif /* MHRC */ + + switch (*file) { + case '/': + return file; + +#ifdef MHRC + case '~': + if (cp = index (pp = file + 1, '/')) + *cp++ = '\0'; + if (*pp == '\0') + pp = mypath; + else + if (pw = getpwnam (pp)) + pp = pw -> pw_dir; + else { + if (cp) + *--cp = '/'; + goto try_it; + } + + (void) sprintf (lpath, "%s/%s", pp, cp ? cp : ""); + if (cp) + *--cp = '/'; + + if (access (lpath, 04) != NOTOK) + return lpath; /* else fall */ + try_it: ; +#endif /* MHRC */ + + default: + if (access ((cp = m_mailpath (file)), 04) != NOTOK) + return cp; + } + + (void) sprintf (lpath, etcpath (%s), file); + return (access (lpath, 04) != NOTOK ? lpath : file); +} + +/* */ + +/* + * Standard yes/no switches structure + */ + +struct swit anoyes[] = { + "no", 0, + "yes", 0, + NULL, 0 +}; + +/* */ + +/* + * MH constants + */ + +char *components = "components"; +char *current = "cur"; +char *defalt = "inbox"; +char *digestcomps = "digestcomps"; +char *distcomps = "distcomps"; +char *draft = "draft"; +char *forwcomps = "forwcomps"; +char *inbox = "inbox"; +char *mh_defaults = etcpath (mh.profile); +char *mh_profile = ".mh_profile"; +char *mhlformat = "mhl.format"; +char *mhlforward = "mhl.forward"; +char *nsequence = "Sequence-Negation"; +char *pfolder = "Current-Folder"; +char *psequence = "Previous-Sequence"; +char *rcvdistcomps = "rcvdistcomps"; +char *replcomps = "replcomps"; +char *usequence = "Unseen-Sequence"; +char *mhlibdir = "/usr/local/mh/lib"; /* NB: this will change */ + + +/* + * MH not-so constants + */ + +char *context = "context"; +#ifndef NOMHSEQ +char *mh_seq = ".mh_sequences"; +#else /* NOMHSEQ */ +char *mh_seq = NULL; +#endif /* NOMHSEQ */ + + +/* + * MH globals + */ + +char ctxflags; /* status of user's context */ + +char *invo_name; /* pgm invocation name */ +char *mypath; /* user's $HOME */ +char *defpath; /* pathname of user's profile */ +char *ctxpath; /* pathname of user's context */ + +struct node *m_defs; /* profile/context structure */ + +/* */ + +/* + * MH processes + */ + + +/* + * mhl runs this program as a visual-end. + */ + +char *faceproc = NULL; + + +/* + * This program is usually called directly by users, but it is + * also invoked by the post program to process an "fcc". + */ + +char *fileproc = binpath (refile); + + +/* + * This program is called to incorporate messages into a folder. + */ + +char *incproc = binpath (inc); + + +/* + * When a user runs an MH program for the first time, this program + * is called to create his MH profile, and mail directory. + */ + +char *installproc = etcpath (install-mh); + + +/* + * This is the program invoked by a "list" response to "What now?" + * whereas, showproc is the program invoked by show, next, prev. + */ + +#ifndef MORE +char *lproc = "/usr/ucb/more"; +#else /* MORE */ +char *lproc = MORE; +#endif /* MORE */ + + +/* + * This is the path for the Bell equivalent mail program. + */ + +char *mailproc = binpath (mhmail); + + +/* + * mhl runs this program as a front-end. + */ + +#ifndef MORE +char *moreproc = "/usr/ucb/more"; +#else /* MORE */ +char *moreproc = MORE; +#endif /* MORE */ + + +/* + * This program is mhl - the nifty message lister + */ + +char *mhlproc = etcpath (mhl); + + +/* + * This is the super handy BBoard reading program, which is really just the MH + * shell program + */ + +char *mshproc = binpath (msh); + + +/* + * This program is called to pack a folder. + */ + +char *packproc = binpath (packf); + + +/* + * This is the delivery program called through send to + * actually deliver mail to users. This is the interface to + * the MTS. + */ + +#if BERK && SENDMTS && !SMTP +char *postproc = etcpath (spost); +#else +char *postproc = etcpath (post); +#endif /* BERK */ + + +/* + * This program is called to remove a folder. + */ + +char *rmfproc = binpath (rmf); + + +/* + * This program is called to remove a message by rmm or refile -nolink. + * It's usually empty, which means to rename the file to a backup name. + */ + +char *rmmproc = NULL; + + +/* + * This program is usually called by the user's whatnowproc, but it + * may also be called directly to send a message previously composed. + */ + +char *sendproc = binpath (send); + + +/* + * This program is called to list messages by the show program. + * By setting showproc to mhl, the user can run mhl instead. + */ + +#ifndef MORE +char *showproc = "/usr/ucb/more"; +#else /* MORE */ +char *showproc = MORE; +#endif /* MORE */ + + +/* + * This program is called under stand-alone MH to deliver a message to + * a local user. Under other MTS's it can be used to emulate a + * MMDF-II .maildelivery mechanism. + */ + +char *slocalproc = etcpath (slocal); + + +/* + * This program is called by vmh as the back-end to the window management + * protocol + */ + +char *vmhproc = binpath (msh); + + +/* + * This program is called after comp, et. al., have built a draft + */ + +char *whatnowproc = binpath (whatnow); + + +/* + * This program is called to list/validate the addresses in a message. + */ + +char *whomproc = binpath (whom); + +/* */ + +/* + * This is the editor invoked by the various message composition + * programs. It SHOULD be a 2-D scope editor, such as Rand's ned + * or Berkeley's ex, but any editor will work. We use prompter as + * the default, since with -prepend it works just fine with forw. + */ + +char *sysed = "prompter"; + + +/* + * This is the MH alias file. + */ + +char *AliasFile = etcpath (MailAliases); + +/* */ + +/* + * File protections + */ + + +/* + * Folders (directories) are created with this protection (mode) + */ + +#ifndef FOLDPROT +#define FOLDPROT "0711" +#endif /* not FOLDPROT */ + +char *foldprot = FOLDPROT; + + +/* + * Every NEW message will be created with this protection. When a + * message is filed it retains its protection, so this only applies + * to messages coming in through inc. + */ + +#ifndef MSGPROT +#define MSGPROT "0644" +#endif /* not MSGPROT */ + +char *msgprot = MSGPROT;