* uip/sendsbr.c: replaced st_mtim with st_mtime, that's what
[mmh] / h / aliasbr.h
1
2 /*
3  * aliasbr.h -- definitions for the aliasing system
4  *
5  * $Id$
6  */
7
8 extern 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
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 /*
27  * incore version of /etc/passwd
28  */
29 struct 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 struct home *seek_home (char *);
40
41 /*
42  * prototypes
43  */
44 int alias (char *);
45 int akvisible (void);
46 void init_pw (void);
47 char *akresult (struct aka *);
48 char *akvalue (char *);
49 char *akerror (int);
50
51 /* codes returned by alias() */
52
53 #define AK_OK           0       /* file parsed ok        */
54 #define AK_NOFILE       1       /* couldn't read file    */
55 #define AK_ERROR        2       /* error parsing file    */
56 #define AK_LIMIT        3       /* memory limit exceeded */
57 #define AK_NOGROUP      4       /* no such group         */
58
59 /* should live here, not in mts.c */
60
61 extern int Everyone;
62 extern char *NoShell;