|
|
1.1 root 1: /* $Id: os-bsd44.h,v 5.2 90/06/23 22:20:38 jsp Rel $ */
2:
3: /*
4: * 4.4 BSD definitions for Amd (automounter)
5: *
6: * Copyright (c) 1990 Jan-Simon Pendry
7: * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
8: * Copyright (c) 1990 The Regents of the University of California.
9: * All rights reserved.
10: *
11: * This code is derived from software contributed to Berkeley by
12: * Jan-Simon Pendry at Imperial College, London.
13: *
14: * Redistribution and use in source and binary forms are permitted provided
15: * that: (1) source distributions retain this entire copyright notice and
16: * comment, and (2) distributions including binaries display the following
17: * acknowledgement: ``This product includes software developed by the
18: * University of California, Berkeley and its contributors'' in the
19: * documentation or other materials provided with the distribution and in
20: * all advertising materials mentioning features or use of this software.
21: * Neither the name of the University nor the names of its contributors may
22: * be used to endorse or promote products derived from this software without
23: * specific prior written permission.
24: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
25: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
26: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27: *
28: * @(#)os-bsd44.h 5.1 (Berkeley) 6/29/90
29: */
30:
31: /*
32: * Does the compiler grok void *
33: */
34: #define VOIDP
35:
36: /*
37: * Which version of the Sun RPC library we are using
38: * This is the implementation release number, not
39: * the protocol revision number.
40: */
41: #define RPC_3
42:
43: /*
44: * Which version of the NFS interface are we using.
45: * This is the implementation release number, not
46: * the protocol revision number.
47: */
48: #define NFS_44
49: #define HAS_TCP_NFS
50:
51: /*
52: * Does this OS have NDBM support?
53: */
54: #define OS_HAS_NDBM
55:
56: /*
57: * The mount table is obtained from the kernel
58: */
59: #undef UPDATE_MTAB
60:
61: /*
62: * No mntent info on 4.4 BSD
63: */
64: #undef MNTENT_HDR
65:
66: /*
67: * Name of filesystem types
68: */
69: #define MOUNT_TYPE_NFS MOUNT_NFS
70: #define MOUNT_TYPE_UFS MOUNT_UFS
71: #undef MTAB_TYPE_UFS
72: #define MTAB_TYPE_UFS "ufs"
73: #define MTAB_TYPE_MFS "mfs"
74:
75: /*
76: * How to unmount filesystems
77: */
78: #undef UNMOUNT_TRAP
79: #undef NEED_UMOUNT_FS
80: #define NEED_UMOUNT_BSD
81:
82: /*
83: * How to copy an address into an NFS filehandle
84: */
85: #undef NFS_SA_DREF
86: #define NFS_SA_DREF(dst, src) { \
87: (dst).addr = (struct sockaddr *) (src); \
88: (dst).sotype = SOCK_DGRAM; \
89: (dst).proto = 0; \
90: }
91:
92: /*
93: * Byte ordering
94: */
95: #ifndef BYTE_ORDER
96: #include <machine/endian.h>
97: #endif /* BYTE_ORDER */
98:
99: #undef ARCH_ENDIAN
100: #if BYTE_ORDER == LITTLE_ENDIAN
101: #define ARCH_ENDIAN "little"
102: #else
103: #if BYTE_ORDER == BIG_ENDIAN
104: #define ARCH_ENDIAN "big"
105: #else
106: XXX - Probably no hope of running Amd on this machine!
107: #endif /* BIG */
108: #endif /* LITTLE */
109:
110: /*
111: * Miscellaneous 4.4 BSD bits
112: */
113: #define MISC_RPC
114: #define NEED_MNTOPT_PARSER
115: #define SHORT_MOUNT_NAME
116:
117: #define MNTMAXSTR 128
118:
119: #define MNTTYPE_UFS "ufs" /* Un*x file system */
120: #define MNTTYPE_NFS "nfs" /* network file system */
121: #define MNTTYPE_MFS "mfs" /* memory file system */
122: #define MNTTYPE_IGNORE "ignore" /* No type specified, ignore this entry */
123:
124: #define M_RDONLY MNT_RDONLY
125: #define M_SYNC MNT_SYNCHRONOUS
126: #define M_NOEXEC MNT_NOEXEC
127: #define M_NOSUID MNT_NOSUID
128: #define M_NODEV MNT_NODEV
129:
130: #define MNTOPT_SOFT "soft" /* soft mount */
131: #define MNTOPT_INTR "intr" /* interrupts allowed */
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.