Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /*
0003  * NFS protocol definitions
0004  *
0005  * This file contains constants for Version 2 of the protocol.
0006  */
0007 #ifndef _LINUX_NFS2_H
0008 #define _LINUX_NFS2_H
0009 
0010 #define NFS2_PORT   2049
0011 #define NFS2_MAXDATA    8192
0012 #define NFS2_MAXPATHLEN 1024
0013 #define NFS2_MAXNAMLEN  255
0014 #define NFS2_MAXGROUPS  16
0015 #define NFS2_FHSIZE 32
0016 #define NFS2_COOKIESIZE 4
0017 #define NFS2_FIFO_DEV   (-1)
0018 #define NFS2MODE_FMT    0170000
0019 #define NFS2MODE_DIR    0040000
0020 #define NFS2MODE_CHR    0020000
0021 #define NFS2MODE_BLK    0060000
0022 #define NFS2MODE_REG    0100000
0023 #define NFS2MODE_LNK    0120000
0024 #define NFS2MODE_SOCK   0140000
0025 #define NFS2MODE_FIFO   0010000
0026 
0027 
0028 /* NFSv2 file types - beware, these are not the same in NFSv3 */
0029 enum nfs2_ftype {
0030     NF2NON = 0,
0031     NF2REG = 1,
0032     NF2DIR = 2,
0033     NF2BLK = 3,
0034     NF2CHR = 4,
0035     NF2LNK = 5,
0036     NF2SOCK = 6,
0037     NF2BAD = 7,
0038     NF2FIFO = 8
0039 };
0040 
0041 struct nfs2_fh {
0042     char            data[NFS2_FHSIZE];
0043 };
0044 
0045 /*
0046  * Procedure numbers for NFSv2
0047  */
0048 #define NFS2_VERSION        2
0049 #define NFSPROC_NULL        0
0050 #define NFSPROC_GETATTR     1
0051 #define NFSPROC_SETATTR     2
0052 #define NFSPROC_ROOT        3
0053 #define NFSPROC_LOOKUP      4
0054 #define NFSPROC_READLINK    5
0055 #define NFSPROC_READ        6
0056 #define NFSPROC_WRITECACHE  7
0057 #define NFSPROC_WRITE       8
0058 #define NFSPROC_CREATE      9
0059 #define NFSPROC_REMOVE      10
0060 #define NFSPROC_RENAME      11
0061 #define NFSPROC_LINK        12
0062 #define NFSPROC_SYMLINK     13
0063 #define NFSPROC_MKDIR       14
0064 #define NFSPROC_RMDIR       15
0065 #define NFSPROC_READDIR     16
0066 #define NFSPROC_STATFS      17
0067 
0068 #endif /* _LINUX_NFS2_H */