|
|
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.