Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / h / aliasbr.h
1 /* aliasbr.h - definitions for the aliasing system */
2 /* $Id: aliasbr.h,v 1.2 1992/05/12 22:03:31 jromine Exp $ */
3
4
5 extern char *AliasFile;         /* mh-alias(5) */
6
7 #define PASSWD  "/etc/passwd"   /* passwd(5) */
8
9 #define GROUP   "/etc/group"    /* group(5) */
10
11 #define EVERYONE 200            /* lowest uid for everyone */
12
13 struct 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
20 struct 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 struct home {                   /* incore version of /etc/passwd */
27     char   *h_name;             /* user name */
28     int     h_uid;              /* user id */
29     int     h_gid;              /* user's group */
30     char   *h_home;             /* user's home directory */
31     char   *h_shell;            /* user's shell */
32 #ifdef  BSD42
33     int     h_ngrps;            /* number of groups this user belongs to */
34 #endif /* BSD42 */
35     struct home *h_next;        /* next home in list */
36 };
37
38 #ifndef MMDFMTS
39 struct  home *seek_home ();
40 #endif /* MMDFMTS */
41
42 int     alias (), akvisible (), init_pw ();
43 char   *akresult (), *akvalue (), *akerror ();
44
45 /* codes returned by alias() */
46
47 #define AK_OK           0       /* file parsed ok        */
48 #define AK_NOFILE       1       /* couldn't read file    */
49 #define AK_ERROR        2       /* error parsing file    */
50 #define AK_LIMIT        3       /* memory limit exceeded */
51 #define AK_NOGROUP      4       /* no such group         */
52
53
54 /* should live here, not in mts.c */
55
56 extern int Everyone;
57 extern char *NoShell;