1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * NFS protocol definitions 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * This file contains constants for Version 2 of the protocol. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun #ifndef _LINUX_NFS2_H 8*4882a593Smuzhiyun #define _LINUX_NFS2_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #define NFS2_PORT 2049 11*4882a593Smuzhiyun #define NFS2_MAXDATA 8192 12*4882a593Smuzhiyun #define NFS2_MAXPATHLEN 1024 13*4882a593Smuzhiyun #define NFS2_MAXNAMLEN 255 14*4882a593Smuzhiyun #define NFS2_MAXGROUPS 16 15*4882a593Smuzhiyun #define NFS2_FHSIZE 32 16*4882a593Smuzhiyun #define NFS2_COOKIESIZE 4 17*4882a593Smuzhiyun #define NFS2_FIFO_DEV (-1) 18*4882a593Smuzhiyun #define NFS2MODE_FMT 0170000 19*4882a593Smuzhiyun #define NFS2MODE_DIR 0040000 20*4882a593Smuzhiyun #define NFS2MODE_CHR 0020000 21*4882a593Smuzhiyun #define NFS2MODE_BLK 0060000 22*4882a593Smuzhiyun #define NFS2MODE_REG 0100000 23*4882a593Smuzhiyun #define NFS2MODE_LNK 0120000 24*4882a593Smuzhiyun #define NFS2MODE_SOCK 0140000 25*4882a593Smuzhiyun #define NFS2MODE_FIFO 0010000 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun /* NFSv2 file types - beware, these are not the same in NFSv3 */ 29*4882a593Smuzhiyun enum nfs2_ftype { 30*4882a593Smuzhiyun NF2NON = 0, 31*4882a593Smuzhiyun NF2REG = 1, 32*4882a593Smuzhiyun NF2DIR = 2, 33*4882a593Smuzhiyun NF2BLK = 3, 34*4882a593Smuzhiyun NF2CHR = 4, 35*4882a593Smuzhiyun NF2LNK = 5, 36*4882a593Smuzhiyun NF2SOCK = 6, 37*4882a593Smuzhiyun NF2BAD = 7, 38*4882a593Smuzhiyun NF2FIFO = 8 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun struct nfs2_fh { 42*4882a593Smuzhiyun char data[NFS2_FHSIZE]; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /* 46*4882a593Smuzhiyun * Procedure numbers for NFSv2 47*4882a593Smuzhiyun */ 48*4882a593Smuzhiyun #define NFS2_VERSION 2 49*4882a593Smuzhiyun #define NFSPROC_NULL 0 50*4882a593Smuzhiyun #define NFSPROC_GETATTR 1 51*4882a593Smuzhiyun #define NFSPROC_SETATTR 2 52*4882a593Smuzhiyun #define NFSPROC_ROOT 3 53*4882a593Smuzhiyun #define NFSPROC_LOOKUP 4 54*4882a593Smuzhiyun #define NFSPROC_READLINK 5 55*4882a593Smuzhiyun #define NFSPROC_READ 6 56*4882a593Smuzhiyun #define NFSPROC_WRITECACHE 7 57*4882a593Smuzhiyun #define NFSPROC_WRITE 8 58*4882a593Smuzhiyun #define NFSPROC_CREATE 9 59*4882a593Smuzhiyun #define NFSPROC_REMOVE 10 60*4882a593Smuzhiyun #define NFSPROC_RENAME 11 61*4882a593Smuzhiyun #define NFSPROC_LINK 12 62*4882a593Smuzhiyun #define NFSPROC_SYMLINK 13 63*4882a593Smuzhiyun #define NFSPROC_MKDIR 14 64*4882a593Smuzhiyun #define NFSPROC_RMDIR 15 65*4882a593Smuzhiyun #define NFSPROC_READDIR 16 66*4882a593Smuzhiyun #define NFSPROC_STATFS 17 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun #endif /* _LINUX_NFS2_H */ 69