home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.sbin / amd / config / os-aix3.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-05-12  |  5.0 KB  |  181 lines

  1. /*
  2.  * Copyright (c) 1990 Jan-Simon Pendry
  3.  * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
  4.  * Copyright (c) 1990 The Regents of the University of California.
  5.  * 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.  * Redistribution and use in source and binary forms, with or without
  11.  * modification, are permitted provided that the following conditions
  12.  * are met:
  13.  * 1. Redistributions of source code must retain the above copyright
  14.  *    notice, this list of conditions and the following disclaimer.
  15.  * 2. Redistributions in binary form must reproduce the above copyright
  16.  *    notice, this list of conditions and the following disclaimer in the
  17.  *    documentation and/or other materials provided with the distribution.
  18.  * 3. All advertising materials mentioning features or use of this software
  19.  *    must display the following acknowledgement:
  20.  *    This product includes software developed by the University of
  21.  *    California, Berkeley and its contributors.
  22.  * 4. Neither the name of the University nor the names of its contributors
  23.  *    may be used to endorse or promote products derived from this software
  24.  *    without specific prior written permission.
  25.  *
  26.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  27.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  28.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  29.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  30.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  31.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  32.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  33.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  34.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  35.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  36.  * SUCH DAMAGE.
  37.  *
  38.  *    @(#)os-aix3.h    5.3 (Berkeley) 5/12/91
  39.  *
  40.  * $Id: os-aix3.h,v 5.2.1.2 91/05/07 22:19:25 jsp Alpha $
  41.  *
  42.  * AIX 3.1 definitions for Amd (automounter)
  43.  */
  44.  
  45. /*
  46.  * Does the compiler grok void *
  47.  */
  48. #define    VOIDP
  49.  
  50. /*
  51.  * Which version of the Sun RPC library we are using
  52.  * This is the implementation release number, not
  53.  * the protocol revision number.
  54.  */
  55. #define    RPC_4
  56.  
  57. /*
  58.  * Which version of the NFS interface are we using.
  59.  * This is the implementation release number, not
  60.  * the protocol revision number.
  61.  */
  62. #define    NFS_AIX3
  63.  
  64. /*
  65.  * Does this OS have NDBM support?
  66.  */
  67. #define OS_HAS_NDBM
  68.  
  69. /*
  70.  * The mount table is obtained from the kernel
  71.  */
  72. #undef    UPDATE_MTAB
  73.  
  74. /*
  75.  * Pick up BSD bits from include files
  76.  */
  77. #define    _BSD
  78.  
  79. /*
  80.  * No mntent info on AIX 3
  81.  */
  82. #undef    MNTENT_HDR
  83. #define    MNTENT_HDR <sys/mntctl.h>
  84.  
  85. /*
  86.  * Name of filesystem types
  87.  */
  88. #define    MOUNT_TYPE_NFS    MNT_NFS
  89. #define    MOUNT_TYPE_UFS    MNT_JFS
  90. #undef MTAB_TYPE_UFS
  91. #define    MTAB_TYPE_UFS    "jfs"
  92.  
  93. /*
  94.  * How to unmount filesystems
  95.  */
  96. #undef MOUNT_TRAP
  97. #define    MOUNT_TRAP(type, mnt, flag, mnt_data) \
  98.     aix3_mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data, mnt->mnt_opts)
  99. #undef    UNMOUNT_TRAP
  100. #define    UNMOUNT_TRAP(mnt)    uvmount(mnt->mnt_passno, 0)
  101.  
  102.  
  103. /*
  104.  * Byte ordering
  105.  */
  106. #ifndef BYTE_ORDER
  107. #include <sys/machine.h>
  108. #endif /* BYTE_ORDER */
  109.  
  110. #undef ARCH_ENDIAN
  111. #if BYTE_ORDER == LITTLE_ENDIAN
  112. #define ARCH_ENDIAN "little"
  113. #else
  114. #if BYTE_ORDER == BIG_ENDIAN
  115. #define ARCH_ENDIAN "big"
  116. #else
  117. XXX - Probably no hope of running Amd on this machine!
  118. #endif /* BIG */
  119. #endif /* LITTLE */
  120.  
  121. /*
  122.  * Miscellaneous AIX 3 bits
  123.  */
  124. #define    NEED_MNTOPT_PARSER
  125. #define    SHORT_MOUNT_NAME
  126.  
  127. #define    MNTMAXSTR       128
  128.  
  129. #define    MNTTYPE_UFS    "jfs"        /* Un*x file system */
  130. #define    MNTTYPE_NFS    "nfs"        /* network file system */
  131. #define    MNTTYPE_IGNORE    "ignore"    /* No type specified, ignore this entry */
  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. #define    NFS_HDR "misc-aix3.h"
  143. #define    UFS_HDR "misc-aix3.h"
  144. #undef NFS_FH_DREF
  145. #define    NFS_FH_DREF(dst, src) { (dst) = *(src); }
  146. #undef NFS_SA_DREF
  147. #define    NFS_SA_DREF(dst, src) { (dst).addr = *(src); }
  148. #define    M_RDONLY MNT_READONLY
  149.  
  150. /*
  151.  * How to get a mount list
  152.  */
  153. #undef    READ_MTAB_FROM_FILE
  154. #define    READ_MTAB_AIX3_STYLE
  155.  
  156. /*
  157.  * The data for the mount syscall needs the path in addition to the
  158.  * host name since that is the only source of information about the
  159.  * mounted filesystem.
  160. #define    NFS_ARGS_NEEDS_PATH
  161.  */
  162.  
  163. #define    NFS_LOMAP    34
  164. #define    NFS_HIMAP    99
  165. #define NFS_ERROR_MAPPING \
  166. static nfs_errormap[] = {         0,75,77,99,99,99, \
  167.             99,99,99,99,99,78,99,99,99,79, \
  168.             99,99,70,99,35,36,37,38,39,40, \
  169.             41,42,43,44,45,46,47,48,49,50, \
  170.             51,52,53,54,55,56,57,58,60,61, \
  171.             64,65,99,67,68,62,63,66,69,68, \
  172.             99,99,99,71,99,99,99,99,99,99 \
  173.             };
  174.  
  175. #define    MOUNT_HELPER_SOURCE "mount_aix.c"
  176.  
  177. /*
  178.  * Need this too
  179.  */
  180. #include <time.h>
  181.