home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume21 / amd / part03 / os-bsd44.h < prev    next >
C/C++ Source or Header  |  1990-04-11  |  4KB  |  144 lines

  1. /* $Id: os-bsd44.h,v 5.1.1.3 90/01/11 17:14:58 jsp Exp Locker: jsp $ */
  2.  
  3. /*
  4.  * 4.4 BSD 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
  15.  * provided that the above copyright notice and this paragraph are
  16.  * duplicated in all such forms and that any documentation,
  17.  * advertising materials, and other materials related to such
  18.  * distribution and use acknowledge that the software was developed
  19.  * by Imperial College of Science, Technology and Medicine, London, UK.
  20.  * The names of the College and University may not be used to endorse
  21.  * or promote products derived from this software without specific
  22.  * prior written permission.
  23.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  24.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  25.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  26.  *
  27.  *    %W% (Berkeley) %G%
  28.  */
  29.  
  30. /*
  31.  * Does the compiler grok void *
  32.  */
  33. #define    VOIDP
  34.  
  35. /*
  36.  * Which version of the Sun RPC library we are using
  37.  * This is the implementation release number, not
  38.  * the protocol revision number.
  39.  */
  40. #define    RPC_3
  41.  
  42. /*
  43.  * Which version of the NFS interface are we using.
  44.  * This is the implementation release number, not
  45.  * the protocol revision number.
  46.  */
  47. #define    NFS_44
  48.  
  49. /*
  50.  * Does this OS have NDBM support?
  51.  */
  52. #define OS_HAS_NDBM
  53.  
  54. /*
  55.  * The mount table is obtained from the kernel
  56.  */
  57. #undef    UPDATE_MTAB
  58.  
  59. /*
  60.  * No mntent info on 4.4 BSD
  61.  */
  62. #undef    MNTENT_HDR
  63.  
  64. /*
  65.  * Name of filesystem types
  66.  */
  67. #define    MOUNT_TYPE_NFS    MOUNT_NFS
  68. #define    MOUNT_TYPE_UFS    MOUNT_UFS
  69. #undef MTAB_TYPE_UFS
  70. #define    MTAB_TYPE_UFS    "ufs"
  71. #define    MTAB_TYPE_MFS    "mfs"
  72.  
  73. /*
  74.  * How to unmount filesystems
  75.  */
  76. #undef UNMOUNT_TRAP
  77. #undef    NEED_UMOUNT_FS
  78. #define    NEED_UMOUNT_BSD
  79.  
  80. /*
  81.  * Byte ordering
  82.  */
  83. #ifndef BYTE_ORDER
  84. #include <machine/endian.h>
  85. #endif /* BYTE_ORDER */
  86.  
  87. #undef ARCH_ENDIAN
  88. #if BYTE_ORDER == LITTLE_ENDIAN
  89. #define ARCH_ENDIAN "little"
  90. #else
  91. #if BYTE_ORDER == BIG_ENDIAN
  92. #define ARCH_ENDIAN "big"
  93. #else
  94. XXX - Probably no hope of running Amd on this machine!
  95. #endif /* BIG */
  96. #endif /* LITTLE */
  97.  
  98. /*
  99.  * Miscellaneous 4.4 BSD bits
  100.  */
  101. #define MISC_RPC
  102. #define    NEED_MNTOPT_PARSER
  103. #define    SHORT_MOUNT_NAME
  104.  
  105. #define    MNTMAXSTR       128
  106.  
  107. #define    MNTTYPE_UFS    "ufs"        /* Un*x file system */
  108. #define    MNTTYPE_NFS    "nfs"        /* network file system */
  109. #define    MNTTYPE_MFS    "mfs"        /* memory file system */
  110. #define    MNTTYPE_IGNORE    "ignore"    /* No type specified, ignore this entry */
  111.  
  112. #define    M_SYNC    M_SYNCHRONOUS
  113.  
  114. #define    MNTOPT_SOFT    "soft"        /* soft mount */
  115. #define    MNTOPT_INTR    "intr"        /* interrupts allowed */
  116.  
  117. struct mntent {
  118.     char    *mnt_fsname;    /* name of mounted file system */
  119.     char    *mnt_dir;    /* file system path prefix */
  120.     char    *mnt_type;    /* MNTTYPE_* */
  121.     char    *mnt_opts;    /* MNTOPT* */
  122.     int    mnt_freq;    /* dump frequency, in days */
  123.     int    mnt_passno;    /* pass number on parallel fsck */
  124. };
  125.  
  126. /*
  127.  * Type of a file handle
  128.  */
  129. #undef NFS_FH_TYPE
  130. #define    NFS_FH_TYPE    nfsv2fh_t *
  131.  
  132. /*
  133.  * How to get a mount list
  134.  */
  135. #undef    READ_MTAB_FROM_FILE
  136. #define    READ_MTAB_BSD_STYLE
  137.  
  138. /*
  139.  * The data for the mount syscall needs the path in addition to the
  140.  * host name since that is the only source of information about the
  141.  * mounted filesystem.
  142.  */
  143. #define    NFS_ARGS_NEEDS_PATH
  144.