File: aliasbr.h

package info (click to toggle)
mh 6.8.4-28
  • links: PTS
  • area: main
  • in suites: slink
  • size: 7,012 kB
  • ctags: 7,496
  • sloc: ansic: 75,211; sh: 3,112; lisp: 2,205; ml: 1,894; makefile: 724; perl: 482; csh: 150; tcl: 66; sed: 43; awk: 7
file content (57 lines) | stat: -rw-r--r-- 1,632 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/* aliasbr.h - definitions for the aliasing system */
/* $Id: aliasbr.h,v 1.2 1992/05/12 22:03:31 jromine Exp $ */


extern char *AliasFile;		/* mh-alias(5) */

#define	PASSWD	"/etc/passwd"	/* passwd(5) */

#define GROUP   "/etc/group"	/* group(5) */

#define EVERYONE 200		/* lowest uid for everyone */

struct aka {
    char   *ak_name;		/* name to match against */
    struct adr *ak_addr;	/* list of addresses that it maps to */
    struct aka *ak_next;	/* next aka in list */
    char    ak_visible;		/* should be visible in headers */
};

struct adr {
    char   *ad_text;		/* text of this address in list */
    struct adr *ad_next;	/* next adr in list */
    char    ad_local;		/* text is local (check for expansion) */
};

struct home {			/* incore version of /etc/passwd */
    char   *h_name;		/* user name */
    int     h_uid;		/* user id */
    int     h_gid;		/* user's group */
    char   *h_home;		/* user's home directory */
    char   *h_shell;		/* user's shell */
#ifdef	BSD42
    int	    h_ngrps;		/* number of groups this user belongs to */
#endif /* BSD42 */
    struct home *h_next;	/* next home in list */
};

#ifndef	MMDFMTS
struct  home *seek_home ();
#endif /* MMDFMTS */

int     alias (), akvisible (), init_pw ();
char   *akresult (), *akvalue (), *akerror ();

/* codes returned by alias() */

#define	AK_OK		0	/* file parsed ok 	 */
#define	AK_NOFILE	1	/* couldn't read file 	 */
#define	AK_ERROR	2	/* error parsing file 	 */
#define	AK_LIMIT	3	/* memory limit exceeded */
#define	AK_NOGROUP	4	/* no such group 	 */


/* should live here, not in mts.c */

extern int Everyone;
extern char *NoShell;