HardenedBSD src tree
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
4.9KB

  1. /*-
  2. * SPDX-License-Identifier: BSD-3-Clause
  3. *
  4. * Copyright (c) 1989, 1993, 1995
  5. * The Regents of the University of California. All rights reserved.
  6. *
  7. * This code is derived from software contributed to Berkeley by
  8. * Rick Macklem at The University of Guelph.
  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. Neither the name of the University nor the names of its contributors
  19. * may be used to endorse or promote products derived from this software
  20. * without specific prior written permission.
  21. *
  22. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  23. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  26. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  27. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  28. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  29. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  30. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  31. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  32. * SUCH DAMAGE.
  33. *
  34. * @(#)nfs.h 8.4 (Berkeley) 5/1/95
  35. * $FreeBSD$
  36. */
  37. #ifndef _NFSCLIENT_NFSARGS_H_
  38. #define _NFSCLIENT_NFSARGS_H_
  39. /*
  40. * Arguments to mount NFS
  41. */
  42. #define NFS_ARGSVERSION 3 /* change when nfs_args changes */
  43. struct nfs_args {
  44. int version; /* args structure version number */
  45. struct sockaddr *addr; /* file server address */
  46. int addrlen; /* length of address */
  47. int sotype; /* Socket type */
  48. int proto; /* and Protocol */
  49. u_char *fh; /* File handle to be mounted */
  50. int fhsize; /* Size, in bytes, of fh */
  51. int flags; /* flags */
  52. int wsize; /* write size in bytes */
  53. int rsize; /* read size in bytes */
  54. int readdirsize; /* readdir size in bytes */
  55. int timeo; /* initial timeout in .1 secs */
  56. int retrans; /* times to retry send */
  57. int maxgrouplist; /* Max. size of group list */
  58. int readahead; /* # of blocks to readahead */
  59. int wcommitsize; /* Max. write commit size in bytes */
  60. int deadthresh; /* Retrans threshold */
  61. char *hostname; /* server's name */
  62. int acregmin; /* cache attrs for reg files min time */
  63. int acregmax; /* cache attrs for reg files max time */
  64. int acdirmin; /* cache attrs for dirs min time */
  65. int acdirmax; /* cache attrs for dirs max time */
  66. };
  67. /*
  68. * NFS mount option flags
  69. */
  70. #define NFSMNT_SOFT 0x00000001 /* soft mount (hard is default) */
  71. #define NFSMNT_WSIZE 0x00000002 /* set write size */
  72. #define NFSMNT_RSIZE 0x00000004 /* set read size */
  73. #define NFSMNT_TIMEO 0x00000008 /* set initial timeout */
  74. #define NFSMNT_RETRANS 0x00000010 /* set number of request retries */
  75. #define NFSMNT_MAXGRPS 0x00000020 /* set maximum grouplist size */
  76. #define NFSMNT_INT 0x00000040 /* allow interrupts on hard mount */
  77. #define NFSMNT_NOCONN 0x00000080 /* Don't Connect the socket */
  78. #define NFSMNT_ONEOPENOWN 0x00000100 /* Use one OpenOwner for NFSv4.1 */
  79. #define NFSMNT_NFSV3 0x00000200 /* Use NFS Version 3 protocol */
  80. #define NFSMNT_KERB 0x00000400 /* Use RPCSEC_GSS/Krb5 */
  81. #define NFSMNT_DUMBTIMR 0x00000800 /* Don't estimate rtt dynamically */
  82. #define NFSMNT_WCOMMITSIZE 0x00001000 /* set max write commit size */
  83. #define NFSMNT_READAHEAD 0x00002000 /* set read ahead */
  84. #define NFSMNT_DEADTHRESH 0x00004000 /* set dead server retry thresh */
  85. #define NFSMNT_RESVPORT 0x00008000 /* Allocate a reserved port */
  86. #define NFSMNT_RDIRPLUS 0x00010000 /* Use Readdirplus for V3 */
  87. #define NFSMNT_READDIRSIZE 0x00020000 /* Set readdir size */
  88. #define NFSMNT_ACREGMIN 0x00040000
  89. #define NFSMNT_ACREGMAX 0x00080000
  90. #define NFSMNT_ACDIRMIN 0x00100000
  91. #define NFSMNT_ACDIRMAX 0x00200000
  92. #define NFSMNT_NOLOCKD 0x00400000 /* Locks are local */
  93. #define NFSMNT_NFSV4 0x00800000 /* Use NFS Version 4 protocol */
  94. #define NFSMNT_HASWRITEVERF 0x01000000 /* NFSv4 Write verifier */
  95. #define NFSMNT_INTEGRITY 0x02000000 /* Use integrity with RPCSEC_GSS */
  96. #define NFSMNT_PRIVACY 0x04000000 /* Use privacy with RPCSEC_GSS */
  97. #define NFSMNT_ALLGSSNAME 0x08000000 /* Use principal for all accesses */
  98. #define NFSMNT_STRICT3530 0x10000000 /* Adhere strictly to RFC3530 */
  99. #define NFSMNT_NOCTO 0x20000000 /* Don't flush attrcache on open */
  100. #define NFSMNT_PNFS 0x40000000 /* Enable pNFS support */
  101. #define NFSMNT_NONCONTIGWR 0x80000000 /* Enable non-contiguous writes */
  102. #endif