home *** CD-ROM | disk | FTP | other *** search
/ PDA Software Library / pdasoftwarelib.iso / PSION / COMMS / P3NFS / INCLUDE / OS-AIX3.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-03-18  |  5.3 KB  |  183 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.  *    %W% (Berkeley) %G%
  39.  *
  40.  * $Id: os-aix3.h,v 1.1.1.1 1996/03/18 09:34:02 jnhollma Exp $
  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.  * Try for 4.4 compatibility if available (AIX 3.2 and later)
  77.  */
  78. #define    _BSD 44
  79.  
  80. /*
  81.  * No mntent info on AIX 3
  82.  */
  83. #undef    MNTENT_HDR
  84. #define    MNTENT_HDR <sys/mntctl.h>
  85.  
  86. /*
  87.  * Name of filesystem types
  88.  */
  89. #define    MOUNT_TYPE_NFS    MNT_NFS
  90. #define    MOUNT_TYPE_UFS    MNT_JFS
  91. #undef MTAB_TYPE_UFS
  92. #define    MTAB_TYPE_UFS    "jfs"
  93.  
  94. /*
  95.  * How to unmount filesystems
  96.  */
  97. #undef MOUNT_TRAP
  98. #define    MOUNT_TRAP(type, mnt, flag, mnt_data) \
  99.     aix3_mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data, mnt->mnt_opts)
  100. #undef    UNMOUNT_TRAP
  101. #define    UNMOUNT_TRAP(mnt)    uvmount(mnt->mnt_passno, 0)
  102.  
  103.  
  104. /*
  105.  * Byte ordering
  106.  */
  107. #ifndef BYTE_ORDER
  108. #include <sys/machine.h>
  109. #endif /* BYTE_ORDER */
  110.  
  111. #undef ARCH_ENDIAN
  112. #if BYTE_ORDER == LITTLE_ENDIAN
  113. #define ARCH_ENDIAN "little"
  114. #else
  115. #if BYTE_ORDER == BIG_ENDIAN
  116. #define ARCH_ENDIAN "big"
  117. #else
  118. XXX - Probably no hope of running Amd on this machine!
  119. #endif /* BIG */
  120. #endif /* LITTLE */
  121.  
  122. /*
  123.  * Miscellaneous AIX 3 bits
  124.  */
  125. #define    NEED_MNTOPT_PARSER
  126. #define    SHORT_MOUNT_NAME
  127.  
  128. #define    MNTMAXSTR       128
  129.  
  130. #define    MNTTYPE_UFS    "jfs"        /* Un*x file system */
  131. #define    MNTTYPE_NFS    "nfs"        /* network file system */
  132. #define    MNTTYPE_IGNORE    "ignore"    /* No type specified, ignore this entry */
  133.  
  134. struct mntent {
  135.     char    *mnt_fsname;    /* name of mounted file system */
  136.     char    *mnt_dir;    /* file system path prefix */
  137.     char    *mnt_type;    /* MNTTYPE_* */
  138.     char    *mnt_opts;    /* MNTOPT* */
  139.     int    mnt_freq;    /* dump frequency, in days */
  140.     int    mnt_passno;    /* pass number on parallel fsck */
  141. };
  142.  
  143. #define    NFS_HDR "misc-aix3.h"
  144. #define    UFS_HDR "misc-aix3.h"
  145. #undef NFS_FH_DREF
  146. #define    NFS_FH_DREF(dst, src) { (dst) = *(src); }
  147. #undef NFS_SA_DREF
  148. #define    NFS_SA_DREF(dst, src) { (dst).addr = *(src); }
  149. #define    M_RDONLY MNT_READONLY
  150.  
  151. /*
  152.  * How to get a mount list
  153.  */
  154. #undef    READ_MTAB_FROM_FILE
  155. #define    READ_MTAB_AIX3_STYLE
  156.  
  157. /*
  158.  * The data for the mount syscall needs the path in addition to the
  159.  * host name since that is the only source of information about the
  160.  * mounted filesystem.
  161. #define    NFS_ARGS_NEEDS_PATH
  162.  */
  163.  
  164. #define    NFS_LOMAP    34
  165. #define    NFS_HIMAP    99
  166. #define NFS_ERROR_MAPPING \
  167. static nfs_errormap[] = {         0,75,77,99,99,99, \
  168.             99,99,99,99,99,78,99,99,99,79, \
  169.             99,99,70,99,35,36,37,38,39,40, \
  170.             41,42,43,44,45,46,47,48,49,50, \
  171.             51,52,53,54,55,56,57,58,60,61, \
  172.             64,65,99,67,68,62,63,66,69,68, \
  173.             99,99,99,71,99,99,99,99,99,99 \
  174.             };
  175.  
  176. #define    MOUNT_HELPER_SOURCE "mount_aix.c"
  177.  
  178. /*
  179.  * Need this too
  180.  */
  181. #include <time.h>
  182. #include <sys/time.h>
  183.