Annotation of 43BSD/contrib/mh/config/config.c, revision 1.1

1.1     ! root        1: /* config.c - master MH configuration file */
        !             2: 
        !             3: /* This file is automatically generated.  Do not edit! */
        !             4: 
        !             5: /* LINTLIBRARY */
        !             6: 
        !             7: #include "../h/mh.h"
        !             8: #ifdef MHRC
        !             9: #include <pwd.h>
        !            10: #endif MHRC
        !            11: #include <stdio.h>
        !            12: 
        !            13: 
        !            14: #define binpath(file) "/usr/new/mh/file"
        !            15: #define etcpath(file) "/usr/new/lib/mh/file"
        !            16: 
        !            17: 
        !            18: char *options[] = {"BSD42", "BSD43", "BERK", "TTYD", "DUMB", "MHE", "NETWORK", "BIND", "RPATHS", "ATZ", "SBACKUP='\"\043\"'", "SENDMTS", "SMTP", NULL};
        !            19: 
        !            20: 
        !            21: #ifdef MHRC
        !            22: #ifdef SYS5
        !            23: struct passwd *getpwnam ();
        !            24: #endif SYS5
        !            25: #endif MHRC
        !            26: 
        !            27: /*  */
        !            28: 
        !            29: static    char lpath[BUFSIZ];
        !            30: 
        !            31: char   *libpath (file)
        !            32: char   *file;
        !            33: {
        !            34:     char   *cp;
        !            35: #ifdef MHRC
        !            36:     char   *pp;
        !            37:     struct passwd  *pw;
        !            38: #endif MHRC
        !            39: 
        !            40: #ifdef MHRC
        !            41:     m_getdefs ();
        !            42: #endif MHRC
        !            43: 
        !            44:     switch (*file) {
        !            45:        case '/': 
        !            46:            return file;
        !            47: 
        !            48: #ifdef MHRC
        !            49:        case '~': 
        !            50:            if (cp = index (pp = file + 1, '/'))
        !            51:                *cp++ = NULL;
        !            52:            if (*pp == NULL)
        !            53:                pp = mypath;
        !            54:            else
        !            55:                if (pw = getpwnam (pp))
        !            56:                    pp = pw -> pw_dir;
        !            57:                else {
        !            58:                    if (cp)
        !            59:                        *--cp = '/';
        !            60:                    goto try_it;
        !            61:                }
        !            62: 
        !            63:            (void) sprintf (lpath, "%s/%s", pp, cp ? cp : "");
        !            64:            if (cp)
        !            65:                *--cp = '/';
        !            66: 
        !            67:            if (access (lpath, 04) != NOTOK)
        !            68:                return lpath;   /* else fall */
        !            69:     try_it: ;
        !            70: #endif MHRC
        !            71: 
        !            72:        default: 
        !            73:            if (access ((cp = m_maildir (file)), 04) != NOTOK)
        !            74:                return cp;
        !            75:     }
        !            76: 
        !            77:     (void) sprintf (lpath, etcpath (%s), file);
        !            78:     return (access (lpath, 04) != NOTOK ? lpath : file);
        !            79: }
        !            80: 
        !            81: /*  */
        !            82: 
        !            83: /* 
        !            84:  * Standard yes/no switches structure
        !            85:  */
        !            86: 
        !            87: struct swit anoyes[] = {
        !            88:     "no", 0,
        !            89:     "yes", 0,
        !            90:     NULL, NULL
        !            91: };
        !            92: 
        !            93: /*  */
        !            94: 
        !            95: /* 
        !            96:  * MH constants
        !            97:  */
        !            98: 
        !            99: char   *components = "components";
        !           100: char   *current = "cur";
        !           101: char   *defalt = "inbox";
        !           102: char   *digestcomps = "digestcomps";
        !           103: char   *distcomps = "distcomps";
        !           104: char   *draft = "draft";
        !           105: char   *forwcomps = "forwcomps";
        !           106: char   *mh_defaults = etcpath (mh.profile);
        !           107: char   *mh_profile = ".mh_profile";
        !           108: char   *mhlformat = "mhl.format";
        !           109: char   *mhlforward = "mhl.forward";
        !           110: char   *nsequence = "Sequence-Negation";
        !           111: char   *pfolder = "Current-Folder";
        !           112: char   *psequence = "Previous-Sequence";
        !           113: char   *rcvdistcomps = "rcvdistcomps";
        !           114: char   *replcomps = "replcomps";
        !           115: char   *usequence = "Unseen-Sequence";
        !           116: 
        !           117: 
        !           118: /* 
        !           119:  * MH not-so constants
        !           120:  */
        !           121: 
        !           122: char   *context = "context";
        !           123: #ifndef        NOMHSEQ
        !           124: char   *mh_seq = ".mh_sequences";
        !           125: #else  NOMHSEQ
        !           126: char   *mh_seq = NULL;
        !           127: #endif NOMHSEQ
        !           128: 
        !           129: 
        !           130: /* 
        !           131:  * MH globals
        !           132:  */
        !           133: 
        !           134: char    ctxflags;              /* status of user's context */
        !           135: 
        !           136: char   *invo_name;             /* pgm invocation name */
        !           137: char   *mypath;                        /* user's $HOME */
        !           138: char   *defpath;               /* pathname of user's profile */
        !           139: char   *ctxpath;               /* pathname of user's context */
        !           140: 
        !           141: struct node *m_defs;           /* profile/context structure */
        !           142: 
        !           143: /*  */
        !           144: 
        !           145: /* 
        !           146:  * MH processes
        !           147:  */
        !           148: 
        !           149: 
        !           150: /*
        !           151:  * This program is usually called directly by users, but it is
        !           152:  * also invoked by the post program to process an "fcc".
        !           153:  */
        !           154: 
        !           155: char   *fileproc = binpath (refile);
        !           156: 
        !           157: 
        !           158: /* 
        !           159:  * This program is called to incorporate messages into a folder.
        !           160:  */
        !           161: 
        !           162: char   *incproc = binpath (inc);
        !           163: 
        !           164: 
        !           165: /*
        !           166:  * When a user runs an MH program for the first time, this program
        !           167:  * is called to create his MH profile, and mail directory.
        !           168:  */
        !           169: 
        !           170: char   *installproc = etcpath (install-mh);
        !           171: 
        !           172: 
        !           173: /*
        !           174:  * This is the program invoked by a "list" response to "What now?"
        !           175:  *  whereas, showproc is the program invoked by show, next, prev.
        !           176:  */
        !           177: 
        !           178: #ifndef        MORE
        !           179: char   *lproc = "/usr/ucb/more";
        !           180: #else  MORE
        !           181: char   *lproc = MORE;
        !           182: #endif MORE
        !           183: 
        !           184: 
        !           185: /*
        !           186:  * This is the path for the Bell equivalent mail program.
        !           187:  */
        !           188: 
        !           189: char   *mailproc = binpath (mhmail);
        !           190: 
        !           191: 
        !           192: /*
        !           193:  * mhl runs this program as a front-end.
        !           194:  */
        !           195: 
        !           196: #ifndef        MORE
        !           197: char   *moreproc = "/usr/ucb/more";
        !           198: #else  MORE
        !           199: char   *moreproc = MORE;
        !           200: #endif MORE
        !           201: 
        !           202: 
        !           203: /* 
        !           204:  * This program is mhl - the nifty message lister
        !           205:  */
        !           206: 
        !           207: char   *mhlproc = etcpath (mhl);
        !           208: 
        !           209: 
        !           210: /* 
        !           211:  * This is the super handy BBoard reading program, which is really just the MH
        !           212:  * shell program
        !           213:  */
        !           214: 
        !           215: char   *mshproc = binpath (msh);
        !           216: 
        !           217: 
        !           218: /* 
        !           219:  * This program is called to pack a folder.  
        !           220:  */
        !           221: 
        !           222: char   *packproc = binpath (packf);
        !           223: 
        !           224: 
        !           225: /*
        !           226:  * This is the delivery program called through send to
        !           227:  * actually deliver mail to users.  This is the interface to
        !           228:  * the MTS.
        !           229:  */
        !           230: 
        !           231: #if BERK && SENDMTS
        !           232: char   *postproc = etcpath (spost);
        !           233: #else
        !           234: char   *postproc = etcpath (post);
        !           235: #endif BERK
        !           236: 
        !           237: 
        !           238: /* 
        !           239:  * This program is called to remove a folder.  
        !           240:  */
        !           241: 
        !           242: char   *rmfproc = binpath (rmf);
        !           243: 
        !           244: 
        !           245: /* 
        !           246:  * This program is called to remove a message by rmm or refile -nolink.
        !           247:  * It's usually empty, which means to rename the file to a backup name.
        !           248:  */
        !           249: 
        !           250: char   *rmmproc = NULL;
        !           251: 
        !           252: 
        !           253: /*
        !           254:  * This program is usually called by the user's whatnowproc, but it
        !           255:  * may also be called directly to send a message previously composed.
        !           256:  */
        !           257: 
        !           258: char   *sendproc = binpath (send);
        !           259: 
        !           260: 
        !           261: /*
        !           262:  * This program is called to list messages by the show program.
        !           263:  * By setting showproc to mhl, the user can run mhl instead.
        !           264:  */
        !           265: 
        !           266: #ifndef        MORE
        !           267: char   *showproc = "/usr/ucb/more";
        !           268: #else  MORE
        !           269: char   *showproc = MORE;
        !           270: #endif MORE
        !           271: 
        !           272: 
        !           273: /* 
        !           274:  * This program is called under stand-alone MH to deliver a message to
        !           275:  * a local user.  Under other MTS's it can be used to emulate a
        !           276:  * MMDF-II .maildelivery mechanism.
        !           277:  */
        !           278: 
        !           279: char   *slocalproc = etcpath (slocal);
        !           280: 
        !           281: 
        !           282: /* 
        !           283:  * This program is called by vmh as the back-end to the window management
        !           284:  * protocol
        !           285:  */
        !           286: 
        !           287: char   *vmhproc = binpath (msh);
        !           288: 
        !           289: 
        !           290: /* 
        !           291:  * This program is called after comp, et. al., have built a draft
        !           292:  */
        !           293: 
        !           294: char   *whatnowproc = binpath (whatnow);
        !           295: 
        !           296: 
        !           297: /* 
        !           298:  * This program is called to list/validate the addresses in a message.
        !           299:  */
        !           300: 
        !           301: char   *whomproc = binpath (whom);
        !           302: 
        !           303: /*  */
        !           304: 
        !           305: /*
        !           306:  * This is the editor invoked by the various message composition
        !           307:  * programs.  It SHOULD be a 2-D scope editor, such as Rand's ned
        !           308:  * or Berkeley's ex, but any editor will work.  We use prompter as
        !           309:  * the default, since with -prepend it works just fine with forw.
        !           310:  */
        !           311: 
        !           312: char   *sysed = "prompter";
        !           313: 
        !           314: 
        !           315: /* 
        !           316:  * This is the MH alias file.
        !           317:  */
        !           318: 
        !           319: char   *AliasFile = etcpath (MailAliases);
        !           320: 
        !           321: /*  */
        !           322: 
        !           323: /* 
        !           324:  * File protections
        !           325:  */
        !           326: 
        !           327: 
        !           328: /*
        !           329:  * Folders (directories) are created with this protection (mode)
        !           330:  */
        !           331: 
        !           332: #ifndef        FOLDPROT
        !           333: #define        FOLDPROT        "0711"
        !           334: #endif not FOLDPROT
        !           335: 
        !           336: char   *foldprot = FOLDPROT;
        !           337: 
        !           338: 
        !           339: /*
        !           340:  * Every NEW message will be created with this protection.  When a
        !           341:  * message is filed it retains its protection, so this only applies
        !           342:  * to messages coming in through inc.
        !           343:  */
        !           344: 
        !           345: #ifndef        MSGPROT
        !           346: #define        MSGPROT         "0644"
        !           347: #endif not MSGPROT
        !           348: 
        !           349: char   *msgprot = MSGPROT;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.