source: trunk/third/nmh/h/aliasbr.h @ 12455

Revision 12455, 1.8 KB checked in by danw, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r12454, which included commits to RCS files with non-trunk default branches.
Line 
1
2/*
3 * aliasbr.h -- definitions for the aliasing system
4 *
5 * $Id: aliasbr.h,v 1.1.1.1 1999-02-07 18:14:06 danw Exp $
6 */
7
8extern char *AliasFile;         /* mh-alias(5)             */
9#define PASSWD  "/etc/passwd"   /* passwd(5)               */
10#define GROUP   "/etc/group"    /* group(5)                */
11#define EVERYONE 200            /* lowest uid for everyone */
12
13struct aka {
14    char *ak_name;              /* name to match against             */
15    struct adr *ak_addr;        /* list of addresses that it maps to */
16    struct aka *ak_next;        /* next aka in list                  */
17    char ak_visible;            /* should be visible in headers      */
18};
19
20struct adr {
21    char *ad_text;              /* text of this address in list        */
22    struct adr *ad_next;        /* next adr in list                    */
23    char ad_local;              /* text is local (check for expansion) */
24};
25
26/*
27 * incore version of /etc/passwd
28 */
29struct home {
30    char *h_name;               /* user name                             */
31    uid_t h_uid;                /* user id                               */
32    gid_t h_gid;                /* user's group                          */
33    char *h_home;               /* user's home directory                 */
34    char *h_shell;              /* user's shell                          */
35    int h_ngrps;                /* number of groups this user belongs to */
36    struct home *h_next;        /* next home in list                     */
37};
38
39#ifndef MMDFMTS
40struct home *seek_home ();
41#endif /* MMDFMTS */
42
43/*
44 * prototypes
45 */
46int alias (char *);
47int akvisible (void);
48void init_pw (void);
49char *akresult (struct aka *);
50char *akvalue (char *);
51char *akerror (int);
52
53/* codes returned by alias() */
54
55#define AK_OK           0       /* file parsed ok        */
56#define AK_NOFILE       1       /* couldn't read file    */
57#define AK_ERROR        2       /* error parsing file    */
58#define AK_LIMIT        3       /* memory limit exceeded */
59#define AK_NOGROUP      4       /* no such group         */
60
61/* should live here, not in mts.c */
62
63extern int Everyone;
64extern char *NoShell;
Note: See TracBrowser for help on using the repository browser.