xref: /original-bsd/usr.sbin/amd/config/os-bsd44.h (revision c3e32dec)
1 /*
2  * Copyright (c) 1990 Jan-Simon Pendry
3  * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
4  * Copyright (c) 1990, 1993
5  *	The Regents of the University of California.  All rights reserved.
6  *
7  * This code is derived from software contributed to Berkeley by
8  * Jan-Simon Pendry at Imperial College, London.
9  *
10  * %sccs.include.redist.c%
11  *
12  *	@(#)os-bsd44.h	8.1 (Berkeley) 06/06/93
13  *
14  * $Id: os-bsd44.h,v 5.2.2.1 1992/02/09 15:10:11 jsp beta $
15  *
16  * 4.4 BSD definitions for Amd (automounter)
17  */
18 
19 /*
20  * Does the compiler grok void *
21  */
22 #define	VOIDP
23 
24 /*
25  * Which version of the Sun RPC library we are using
26  * This is the implementation release number, not
27  * the protocol revision number.
28  */
29 #define	RPC_4
30 
31 /*
32  * Which version of the NFS interface are we using.
33  * This is the implementation release number, not
34  * the protocol revision number.
35  */
36 #define	NFS_44
37 #define HAS_TCP_NFS
38 
39 /*
40  * Does this OS have NDBM support?
41  */
42 #define OS_HAS_NDBM
43 
44 /*
45  * 4.4 doesn't provide NIS.
46  */
47 #undef HAS_NIS_MAPS
48 
49 /*
50  * OS provides strerror()
51  */
52 #define HAS_STRERROR
53 
54 /*
55  * The mount table is obtained from the kernel
56  */
57 #undef	UPDATE_MTAB
58 
59 /*
60  * No mntent info on 4.4 BSD
61  */
62 #undef	MNTENT_HDR
63 
64 /*
65  * Name of filesystem types
66  */
67 #define	MOUNT_TYPE_NFS	MOUNT_NFS
68 #define	MOUNT_TYPE_UFS	MOUNT_UFS
69 #undef MTAB_TYPE_UFS
70 #define	MTAB_TYPE_UFS	"ufs"
71 #define	MTAB_TYPE_MFS	"mfs"
72 
73 /*
74  * How to unmount filesystems
75  */
76 #undef UNMOUNT_TRAP
77 #undef	NEED_UMOUNT_FS
78 #define	NEED_UMOUNT_BSD
79 
80 /*
81  * How to copy an address into an NFS filehandle
82  */
83 #undef NFS_SA_DREF
84 #define	NFS_SA_DREF(dst, src) { \
85 		(dst).addr = (struct sockaddr *) (src); \
86 		(dst).addrlen = sizeof(*src); \
87 		(dst).sotype = SOCK_DGRAM; \
88 		(dst).proto = 0; \
89 	}
90 
91 /*
92  * Byte ordering
93  */
94 #ifndef BYTE_ORDER
95 #include <machine/endian.h>
96 #endif /* BYTE_ORDER */
97 
98 #undef ARCH_ENDIAN
99 #if BYTE_ORDER == LITTLE_ENDIAN
100 #define ARCH_ENDIAN "little"
101 #else
102 #if BYTE_ORDER == BIG_ENDIAN
103 #define ARCH_ENDIAN "big"
104 #else
105 XXX - Probably no hope of running Amd on this machine!
106 #endif /* BIG */
107 #endif /* LITTLE */
108 
109 /*
110  * Miscellaneous 4.4 BSD bits
111  */
112 #define	NEED_MNTOPT_PARSER
113 #define	SHORT_MOUNT_NAME
114 
115 #define	MNTMAXSTR       128
116 
117 #define	MNTTYPE_UFS	"ufs"		/* Un*x file system */
118 #define	MNTTYPE_NFS	"nfs"		/* network file system */
119 #define	MNTTYPE_MFS	"mfs"		/* memory file system */
120 #define	MNTTYPE_IGNORE	"ignore"	/* No type specified, ignore this entry */
121 
122 #define	M_RDONLY	MNT_RDONLY
123 #define	M_SYNC		MNT_SYNCHRONOUS
124 #define	M_NOEXEC	MNT_NOEXEC
125 #define	M_NOSUID	MNT_NOSUID
126 #define	M_NODEV		MNT_NODEV
127 
128 #define	MNTOPT_SOFT	"soft"		/* soft mount */
129 #define	MNTOPT_INTR	"intr"		/* interrupts allowed */
130 
131 #define NFSMNT_HOSTNAME	0		/* hostname on 4.4 is not optional */
132 
133 struct mntent {
134 	char	*mnt_fsname;	/* name of mounted file system */
135 	char	*mnt_dir;	/* file system path prefix */
136 	char	*mnt_type;	/* MNTTYPE_* */
137 	char	*mnt_opts;	/* MNTOPT* */
138 	int	mnt_freq;	/* dump frequency, in days */
139 	int	mnt_passno;	/* pass number on parallel fsck */
140 };
141 
142 /*
143  * Type of a file handle
144  */
145 #undef NFS_FH_TYPE
146 #define	NFS_FH_TYPE	nfsv2fh_t *
147 
148 /*
149  * How to get a mount list
150  */
151 #undef	READ_MTAB_FROM_FILE
152 #define	READ_MTAB_BSD_STYLE
153 
154 /*
155  * The data for the mount syscall needs the path in addition to the
156  * host name since that is the only source of information about the
157  * mounted filesystem.
158  */
159 #define	NFS_ARGS_NEEDS_PATH
160 
161 /*
162  * 4.4 has RE support built in
163  */
164 #undef RE_HDR
165 #define RE_HDR <regexp.h>
166