1*22028508SToomas Soome /* $FreeBSD$ */ 2*22028508SToomas Soome /* $NetBSD: nfsv2.h,v 1.2 1996/02/26 23:05:23 gwr Exp $ */ 3*22028508SToomas Soome 4*22028508SToomas Soome /* 5*22028508SToomas Soome * Copyright (c) 1989, 1993 6*22028508SToomas Soome * The Regents of the University of California. All rights reserved. 7*22028508SToomas Soome * 8*22028508SToomas Soome * This code is derived from software contributed to Berkeley by 9*22028508SToomas Soome * Rick Macklem at The University of Guelph. 10*22028508SToomas Soome * 11*22028508SToomas Soome * Redistribution and use in source and binary forms, with or without 12*22028508SToomas Soome * modification, are permitted provided that the following conditions 13*22028508SToomas Soome * are met: 14*22028508SToomas Soome * 1. Redistributions of source code must retain the above copyright 15*22028508SToomas Soome * notice, this list of conditions and the following disclaimer. 16*22028508SToomas Soome * 2. Redistributions in binary form must reproduce the above copyright 17*22028508SToomas Soome * notice, this list of conditions and the following disclaimer in the 18*22028508SToomas Soome * documentation and/or other materials provided with the distribution. 19*22028508SToomas Soome * 3. Neither the name of the University nor the names of its contributors 20*22028508SToomas Soome * may be used to endorse or promote products derived from this software 21*22028508SToomas Soome * without specific prior written permission. 22*22028508SToomas Soome * 23*22028508SToomas Soome * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 24*22028508SToomas Soome * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25*22028508SToomas Soome * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26*22028508SToomas Soome * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 27*22028508SToomas Soome * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28*22028508SToomas Soome * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29*22028508SToomas Soome * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30*22028508SToomas Soome * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31*22028508SToomas Soome * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32*22028508SToomas Soome * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33*22028508SToomas Soome * SUCH DAMAGE. 34*22028508SToomas Soome * 35*22028508SToomas Soome * @(#)nfsv2.h 8.1 (Berkeley) 6/10/93 36*22028508SToomas Soome */ 37*22028508SToomas Soome 38*22028508SToomas Soome /* 39*22028508SToomas Soome * nfs definitions as per the version 2 specs 40*22028508SToomas Soome */ 41*22028508SToomas Soome 42*22028508SToomas Soome /* 43*22028508SToomas Soome * Constants as defined in the Sun NFS Version 2 spec. 44*22028508SToomas Soome * "NFS: Network File System Protocol Specification" RFC1094 45*22028508SToomas Soome */ 46*22028508SToomas Soome 47*22028508SToomas Soome #define NFS_PORT 2049 48*22028508SToomas Soome #define NFS_PROG 100003 49*22028508SToomas Soome #define NFS_VER2 2 50*22028508SToomas Soome #define NFS_MAXDGRAMDATA 8192 51*22028508SToomas Soome #define NFS_MAXDATA 32768 52*22028508SToomas Soome #define NFS_MAXPATHLEN 1024 53*22028508SToomas Soome #define NFS_MAXNAMLEN 255 54*22028508SToomas Soome #define NFS_FHSIZE 32 55*22028508SToomas Soome #define NFS_MAXPKTHDR 404 56*22028508SToomas Soome #define NFS_MAXPACKET (NFS_MAXPKTHDR+NFS_MAXDATA) 57*22028508SToomas Soome #define NFS_MINPACKET 20 58*22028508SToomas Soome #define NFS_FABLKSIZE 512 /* Size in bytes of a block wrt fa_blocks */ 59*22028508SToomas Soome #define NFS_READDIRSIZE 1024 60*22028508SToomas Soome 61*22028508SToomas Soome /* Stat numbers for rpc returns */ 62*22028508SToomas Soome #define NFS_OK 0 63*22028508SToomas Soome #define NFSERR_PERM 1 64*22028508SToomas Soome #define NFSERR_NOENT 2 65*22028508SToomas Soome #define NFSERR_IO 5 66*22028508SToomas Soome #define NFSERR_NXIO 6 67*22028508SToomas Soome #define NFSERR_ACCES 13 68*22028508SToomas Soome #define NFSERR_EXIST 17 69*22028508SToomas Soome #define NFSERR_NODEV 19 70*22028508SToomas Soome #define NFSERR_NOTDIR 20 71*22028508SToomas Soome #define NFSERR_ISDIR 21 72*22028508SToomas Soome #define NFSERR_FBIG 27 73*22028508SToomas Soome #define NFSERR_NOSPC 28 74*22028508SToomas Soome #define NFSERR_ROFS 30 75*22028508SToomas Soome #define NFSERR_NAMETOL 63 76*22028508SToomas Soome #define NFSERR_NOTEMPTY 66 77*22028508SToomas Soome #define NFSERR_DQUOT 69 78*22028508SToomas Soome #define NFSERR_STALE 70 79*22028508SToomas Soome #define NFSERR_WFLUSH 99 80*22028508SToomas Soome 81*22028508SToomas Soome /* Sizes in bytes of various nfs rpc components */ 82*22028508SToomas Soome #define NFSX_FH 32 83*22028508SToomas Soome #define NFSX_UNSIGNED 4 84*22028508SToomas Soome #define NFSX_FATTR 68 85*22028508SToomas Soome #define NFSX_SATTR 32 86*22028508SToomas Soome #define NFSX_STATFS 20 87*22028508SToomas Soome #define NFSX_COOKIE 4 88*22028508SToomas Soome 89*22028508SToomas Soome /* nfs rpc procedure numbers */ 90*22028508SToomas Soome #define NFSPROC_NULL 0 91*22028508SToomas Soome #define NFSPROC_GETATTR 1 92*22028508SToomas Soome #define NFSPROC_SETATTR 2 93*22028508SToomas Soome #define NFSPROC_NOOP 3 94*22028508SToomas Soome #define NFSPROC_ROOT NFSPROC_NOOP /* Obsolete */ 95*22028508SToomas Soome #define NFSPROC_LOOKUP 4 96*22028508SToomas Soome #define NFSPROC_READLINK 5 97*22028508SToomas Soome #define NFSPROC_READ 6 98*22028508SToomas Soome #define NFSPROC_WRITECACHE NFSPROC_NOOP /* Obsolete */ 99*22028508SToomas Soome #define NFSPROC_WRITE 8 100*22028508SToomas Soome #define NFSPROC_CREATE 9 101*22028508SToomas Soome #define NFSPROC_REMOVE 10 102*22028508SToomas Soome #define NFSPROC_RENAME 11 103*22028508SToomas Soome #define NFSPROC_LINK 12 104*22028508SToomas Soome #define NFSPROC_SYMLINK 13 105*22028508SToomas Soome #define NFSPROC_MKDIR 14 106*22028508SToomas Soome #define NFSPROC_RMDIR 15 107*22028508SToomas Soome #define NFSPROC_READDIR 16 108*22028508SToomas Soome #define NFSPROC_STATFS 17 109*22028508SToomas Soome 110*22028508SToomas Soome #define NFS_NPROCS 18 111*22028508SToomas Soome 112*22028508SToomas Soome 113*22028508SToomas Soome /* File types */ 114*22028508SToomas Soome typedef enum { 115*22028508SToomas Soome NFNON=0, 116*22028508SToomas Soome NFREG=1, 117*22028508SToomas Soome NFDIR=2, 118*22028508SToomas Soome NFBLK=3, 119*22028508SToomas Soome NFCHR=4, 120*22028508SToomas Soome NFLNK=5 121*22028508SToomas Soome } nfstype; 122