1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2607ca46eSDavid Howells /* 3607ca46eSDavid Howells * NFS protocol definitions 4607ca46eSDavid Howells * 5607ca46eSDavid Howells * This file contains constants for Version 2 of the protocol. 6607ca46eSDavid Howells */ 7607ca46eSDavid Howells #ifndef _LINUX_NFS2_H 8607ca46eSDavid Howells #define _LINUX_NFS2_H 9607ca46eSDavid Howells 10607ca46eSDavid Howells #define NFS2_PORT 2049 11607ca46eSDavid Howells #define NFS2_MAXDATA 8192 12607ca46eSDavid Howells #define NFS2_MAXPATHLEN 1024 13607ca46eSDavid Howells #define NFS2_MAXNAMLEN 255 14607ca46eSDavid Howells #define NFS2_MAXGROUPS 16 15607ca46eSDavid Howells #define NFS2_FHSIZE 32 16607ca46eSDavid Howells #define NFS2_COOKIESIZE 4 17607ca46eSDavid Howells #define NFS2_FIFO_DEV (-1) 18607ca46eSDavid Howells #define NFS2MODE_FMT 0170000 19607ca46eSDavid Howells #define NFS2MODE_DIR 0040000 20607ca46eSDavid Howells #define NFS2MODE_CHR 0020000 21607ca46eSDavid Howells #define NFS2MODE_BLK 0060000 22607ca46eSDavid Howells #define NFS2MODE_REG 0100000 23607ca46eSDavid Howells #define NFS2MODE_LNK 0120000 24607ca46eSDavid Howells #define NFS2MODE_SOCK 0140000 25607ca46eSDavid Howells #define NFS2MODE_FIFO 0010000 26607ca46eSDavid Howells 27607ca46eSDavid Howells 28607ca46eSDavid Howells /* NFSv2 file types - beware, these are not the same in NFSv3 */ 29607ca46eSDavid Howells enum nfs2_ftype { 30607ca46eSDavid Howells NF2NON = 0, 31607ca46eSDavid Howells NF2REG = 1, 32607ca46eSDavid Howells NF2DIR = 2, 33607ca46eSDavid Howells NF2BLK = 3, 34607ca46eSDavid Howells NF2CHR = 4, 35607ca46eSDavid Howells NF2LNK = 5, 36607ca46eSDavid Howells NF2SOCK = 6, 37607ca46eSDavid Howells NF2BAD = 7, 38607ca46eSDavid Howells NF2FIFO = 8 39607ca46eSDavid Howells }; 40607ca46eSDavid Howells 41607ca46eSDavid Howells struct nfs2_fh { 42607ca46eSDavid Howells char data[NFS2_FHSIZE]; 43607ca46eSDavid Howells }; 44607ca46eSDavid Howells 45607ca46eSDavid Howells /* 46607ca46eSDavid Howells * Procedure numbers for NFSv2 47607ca46eSDavid Howells */ 48607ca46eSDavid Howells #define NFS2_VERSION 2 49607ca46eSDavid Howells #define NFSPROC_NULL 0 50607ca46eSDavid Howells #define NFSPROC_GETATTR 1 51607ca46eSDavid Howells #define NFSPROC_SETATTR 2 52607ca46eSDavid Howells #define NFSPROC_ROOT 3 53607ca46eSDavid Howells #define NFSPROC_LOOKUP 4 54607ca46eSDavid Howells #define NFSPROC_READLINK 5 55607ca46eSDavid Howells #define NFSPROC_READ 6 56607ca46eSDavid Howells #define NFSPROC_WRITECACHE 7 57607ca46eSDavid Howells #define NFSPROC_WRITE 8 58607ca46eSDavid Howells #define NFSPROC_CREATE 9 59607ca46eSDavid Howells #define NFSPROC_REMOVE 10 60607ca46eSDavid Howells #define NFSPROC_RENAME 11 61607ca46eSDavid Howells #define NFSPROC_LINK 12 62607ca46eSDavid Howells #define NFSPROC_SYMLINK 13 63607ca46eSDavid Howells #define NFSPROC_MKDIR 14 64607ca46eSDavid Howells #define NFSPROC_RMDIR 15 65607ca46eSDavid Howells #define NFSPROC_READDIR 16 66607ca46eSDavid Howells #define NFSPROC_STATFS 17 67607ca46eSDavid Howells 68607ca46eSDavid Howells #endif /* _LINUX_NFS2_H */ 69