|
|
1.1 root 1: /* $Id: os-aix3.h,v 5.2 90/06/23 22:20:33 jsp Rel $ */
2:
3: /*
4: * AIX 3.1 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-aix3.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_4
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_AIX3
49:
50: /*
51: * Does this OS have NDBM support?
52: */
53: #define OS_HAS_NDBM
54:
55: /*
56: * The mount table is obtained from the kernel
57: */
58: #undef UPDATE_MTAB
59:
60: /*
61: * Pick up BSD bits from include files
62: */
63: #define _BSD
64:
65: /*
66: * No mntent info on AIX 3
67: */
68: #undef MNTENT_HDR
69: #define MNTENT_HDR <sys/mntctl.h>
70:
71: /*
72: * Name of filesystem types
73: */
74: #define MOUNT_TYPE_NFS MNT_NFS
75: #define MOUNT_TYPE_UFS MNT_JFS
76: #undef MTAB_TYPE_UFS
77: #define MTAB_TYPE_UFS "jfs"
78:
79: /*
80: * How to unmount filesystems
81: */
82: #undef MOUNT_TRAP
83: #define MOUNT_TRAP(type, mnt, flag, mnt_data) \
84: aix3_mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data, mnt->mnt_opts)
85: #undef UNMOUNT_TRAP
86: #define UNMOUNT_TRAP(mnt) uvmount(mnt->mnt_passno, 0)
87:
88:
89: /*
90: * Byte ordering
91: */
92: #ifndef BYTE_ORDER
93: #include <sys/machine.h>
94: #endif /* BYTE_ORDER */
95:
96: #undef ARCH_ENDIAN
97: #if BYTE_ORDER == LITTLE_ENDIAN
98: #define ARCH_ENDIAN "little"
99: #else
100: #if BYTE_ORDER == BIG_ENDIAN
101: #define ARCH_ENDIAN "big"
102: #else
103: XXX - Probably no hope of running Amd on this machine!
104: #endif /* BIG */
105: #endif /* LITTLE */
106:
107: /*
108: * Miscellaneous AIX 3 bits
109: */
110: #define NEED_MNTOPT_PARSER
111: #define SHORT_MOUNT_NAME
112:
113: #define MNTMAXSTR 128
114:
115: #define MNTTYPE_UFS "jfs" /* Un*x file system */
116: #define MNTTYPE_NFS "nfs" /* network file system */
117: #define MNTTYPE_IGNORE "ignore" /* No type specified, ignore this entry */
118:
119: struct mntent {
120: char *mnt_fsname; /* name of mounted file system */
121: char *mnt_dir; /* file system path prefix */
122: char *mnt_type; /* MNTTYPE_* */
123: char *mnt_opts; /* MNTOPT* */
124: int mnt_freq; /* dump frequency, in days */
125: int mnt_passno; /* pass number on parallel fsck */
126: };
127:
128: #define NFS_HDR "misc-aix3.h"
129: #define UFS_HDR "misc-aix3.h"
130: #undef NFS_FH_DREF
131: #define NFS_FH_DREF(dst, src) { (dst).addr = *(src); }
132: #undef NFS_SA_DREF
133: #define NFS_SA_DREF(dst, src) { (dst).addr = *(src); }
134: #define M_RDONLY MNT_READONLY
135:
136: /*
137: * How to get a mount list
138: */
139: #undef READ_MTAB_FROM_FILE
140: #define READ_MTAB_AIX3_STYLE
141:
142: /*
143: * The data for the mount syscall needs the path in addition to the
144: * host name since that is the only source of information about the
145: * mounted filesystem.
146: #define NFS_ARGS_NEEDS_PATH
147: */
148:
149: #define NFS_LOMAP 34
150: #define NFS_HIMAP 99
151: #define NFS_ERROR_MAPPING \
152: static nfs_errormap[] = { 0,75,77,99,99,99, \
153: 99,99,99,99,99,78,99,99,99,79, \
154: 99,99,70,99,35,36,37,38,39,40, \
155: 41,42,43,44,45,46,47,48,49,50, \
156: 51,52,53,54,55,56,57,58,60,61, \
157: 64,65,99,67,68,62,63,66,69,68, \
158: 99,99,99,71,99,99,99,99,99,99 \
159: };
160:
161: #define MOUNT_AIX3
162:
163: /*
164: * Need this too
165: */
166: #include <time.h>
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.