xref: /csrg-svn/usr.sbin/amd/config/os-aix3.h (revision 44630)
1*44630Smckusick /* $Id: os-aix3.h,v 5.2 90/06/23 22:20:33 jsp Rel $ */
2*44630Smckusick 
3*44630Smckusick /*
4*44630Smckusick  * AIX 3.1 definitions for Amd (automounter)
5*44630Smckusick  *
6*44630Smckusick  * Copyright (c) 1990 Jan-Simon Pendry
7*44630Smckusick  * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
8*44630Smckusick  * Copyright (c) 1990 The Regents of the University of California.
9*44630Smckusick  * All rights reserved.
10*44630Smckusick  *
11*44630Smckusick  * This code is derived from software contributed to Berkeley by
12*44630Smckusick  * Jan-Simon Pendry at Imperial College, London.
13*44630Smckusick  *
14*44630Smckusick  * %sccs.include.redist.c%
15*44630Smckusick  *
16*44630Smckusick  *	@(#)os-aix3.h	5.1 (Berkeley) 06/29/90
17*44630Smckusick  */
18*44630Smckusick 
19*44630Smckusick /*
20*44630Smckusick  * Does the compiler grok void *
21*44630Smckusick  */
22*44630Smckusick #define	VOIDP
23*44630Smckusick 
24*44630Smckusick /*
25*44630Smckusick  * Which version of the Sun RPC library we are using
26*44630Smckusick  * This is the implementation release number, not
27*44630Smckusick  * the protocol revision number.
28*44630Smckusick  */
29*44630Smckusick #define	RPC_4
30*44630Smckusick 
31*44630Smckusick /*
32*44630Smckusick  * Which version of the NFS interface are we using.
33*44630Smckusick  * This is the implementation release number, not
34*44630Smckusick  * the protocol revision number.
35*44630Smckusick  */
36*44630Smckusick #define	NFS_AIX3
37*44630Smckusick 
38*44630Smckusick /*
39*44630Smckusick  * Does this OS have NDBM support?
40*44630Smckusick  */
41*44630Smckusick #define OS_HAS_NDBM
42*44630Smckusick 
43*44630Smckusick /*
44*44630Smckusick  * The mount table is obtained from the kernel
45*44630Smckusick  */
46*44630Smckusick #undef	UPDATE_MTAB
47*44630Smckusick 
48*44630Smckusick /*
49*44630Smckusick  * Pick up BSD bits from include files
50*44630Smckusick  */
51*44630Smckusick #define	_BSD
52*44630Smckusick 
53*44630Smckusick /*
54*44630Smckusick  * No mntent info on AIX 3
55*44630Smckusick  */
56*44630Smckusick #undef	MNTENT_HDR
57*44630Smckusick #define	MNTENT_HDR <sys/mntctl.h>
58*44630Smckusick 
59*44630Smckusick /*
60*44630Smckusick  * Name of filesystem types
61*44630Smckusick  */
62*44630Smckusick #define	MOUNT_TYPE_NFS	MNT_NFS
63*44630Smckusick #define	MOUNT_TYPE_UFS	MNT_JFS
64*44630Smckusick #undef MTAB_TYPE_UFS
65*44630Smckusick #define	MTAB_TYPE_UFS	"jfs"
66*44630Smckusick 
67*44630Smckusick /*
68*44630Smckusick  * How to unmount filesystems
69*44630Smckusick  */
70*44630Smckusick #undef MOUNT_TRAP
71*44630Smckusick #define	MOUNT_TRAP(type, mnt, flag, mnt_data) \
72*44630Smckusick 	aix3_mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data, mnt->mnt_opts)
73*44630Smckusick #undef	UNMOUNT_TRAP
74*44630Smckusick #define	UNMOUNT_TRAP(mnt)	uvmount(mnt->mnt_passno, 0)
75*44630Smckusick 
76*44630Smckusick 
77*44630Smckusick /*
78*44630Smckusick  * Byte ordering
79*44630Smckusick  */
80*44630Smckusick #ifndef BYTE_ORDER
81*44630Smckusick #include <sys/machine.h>
82*44630Smckusick #endif /* BYTE_ORDER */
83*44630Smckusick 
84*44630Smckusick #undef ARCH_ENDIAN
85*44630Smckusick #if BYTE_ORDER == LITTLE_ENDIAN
86*44630Smckusick #define ARCH_ENDIAN "little"
87*44630Smckusick #else
88*44630Smckusick #if BYTE_ORDER == BIG_ENDIAN
89*44630Smckusick #define ARCH_ENDIAN "big"
90*44630Smckusick #else
91*44630Smckusick XXX - Probably no hope of running Amd on this machine!
92*44630Smckusick #endif /* BIG */
93*44630Smckusick #endif /* LITTLE */
94*44630Smckusick 
95*44630Smckusick /*
96*44630Smckusick  * Miscellaneous AIX 3 bits
97*44630Smckusick  */
98*44630Smckusick #define	NEED_MNTOPT_PARSER
99*44630Smckusick #define	SHORT_MOUNT_NAME
100*44630Smckusick 
101*44630Smckusick #define	MNTMAXSTR       128
102*44630Smckusick 
103*44630Smckusick #define	MNTTYPE_UFS	"jfs"		/* Un*x file system */
104*44630Smckusick #define	MNTTYPE_NFS	"nfs"		/* network file system */
105*44630Smckusick #define	MNTTYPE_IGNORE	"ignore"	/* No type specified, ignore this entry */
106*44630Smckusick 
107*44630Smckusick struct mntent {
108*44630Smckusick 	char	*mnt_fsname;	/* name of mounted file system */
109*44630Smckusick 	char	*mnt_dir;	/* file system path prefix */
110*44630Smckusick 	char	*mnt_type;	/* MNTTYPE_* */
111*44630Smckusick 	char	*mnt_opts;	/* MNTOPT* */
112*44630Smckusick 	int	mnt_freq;	/* dump frequency, in days */
113*44630Smckusick 	int	mnt_passno;	/* pass number on parallel fsck */
114*44630Smckusick };
115*44630Smckusick 
116*44630Smckusick #define	NFS_HDR "misc-aix3.h"
117*44630Smckusick #define	UFS_HDR "misc-aix3.h"
118*44630Smckusick #undef NFS_FH_DREF
119*44630Smckusick #define	NFS_FH_DREF(dst, src) { (dst).addr = *(src); }
120*44630Smckusick #undef NFS_SA_DREF
121*44630Smckusick #define	NFS_SA_DREF(dst, src) { (dst).addr = *(src); }
122*44630Smckusick #define	M_RDONLY MNT_READONLY
123*44630Smckusick 
124*44630Smckusick /*
125*44630Smckusick  * How to get a mount list
126*44630Smckusick  */
127*44630Smckusick #undef	READ_MTAB_FROM_FILE
128*44630Smckusick #define	READ_MTAB_AIX3_STYLE
129*44630Smckusick 
130*44630Smckusick /*
131*44630Smckusick  * The data for the mount syscall needs the path in addition to the
132*44630Smckusick  * host name since that is the only source of information about the
133*44630Smckusick  * mounted filesystem.
134*44630Smckusick #define	NFS_ARGS_NEEDS_PATH
135*44630Smckusick  */
136*44630Smckusick 
137*44630Smckusick #define	NFS_LOMAP	34
138*44630Smckusick #define	NFS_HIMAP	99
139*44630Smckusick #define NFS_ERROR_MAPPING \
140*44630Smckusick static nfs_errormap[] = {	     0,75,77,99,99,99, \
141*44630Smckusick 			99,99,99,99,99,78,99,99,99,79, \
142*44630Smckusick 			99,99,70,99,35,36,37,38,39,40, \
143*44630Smckusick 			41,42,43,44,45,46,47,48,49,50, \
144*44630Smckusick 			51,52,53,54,55,56,57,58,60,61, \
145*44630Smckusick 			64,65,99,67,68,62,63,66,69,68, \
146*44630Smckusick 			99,99,99,71,99,99,99,99,99,99 \
147*44630Smckusick 			};
148*44630Smckusick 
149*44630Smckusick #define	MOUNT_AIX3
150*44630Smckusick 
151*44630Smckusick /*
152*44630Smckusick  * Need this too
153*44630Smckusick  */
154*44630Smckusick #include <time.h>
155