Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


nfs.h
001: /*
002:  * NFS protocol definitions
003:  *
004:  * This file contains constants mostly for Version 2 of the protocol,
005:  * but also has a couple of NFSv3 bits in (notably the error codes).
006:  */
007: #ifndef _LINUX_NFS_H
008: #define _LINUX_NFS_H
009: 
010: #define NFS_PROGRAM     100003
011: #define NFS_PORT        2049
012: #define NFS_MAXDATA     8192
013: #define NFS_MAXPATHLEN  1024
014: #define NFS_MAXNAMLEN   255
015: #define NFS_MAXGROUPS   16
016: #define NFS_FHSIZE      32
017: #define NFS_COOKIESIZE  4
018: #define NFS_FIFO_DEV    (-1)
019: #define NFSMODE_FMT     0170000
020: #define NFSMODE_DIR     0040000
021: #define NFSMODE_CHR     0020000
022: #define NFSMODE_BLK     0060000
023: #define NFSMODE_REG     0100000
024: #define NFSMODE_LNK     0120000
025: #define NFSMODE_SOCK    0140000
026: #define NFSMODE_FIFO    0010000
027: 
028: #define NFS_MNT_PROGRAM         100005
029: #define NFS_MNT_VERSION         1
030: #define NFS_MNT3_VERSION        3
031: 
032: #define NFS_PIPE_DIRNAME "/nfs"
033: 
034: /*
035:  * NFS stats. The good thing with these values is that NFSv3 errors are
036:  * a superset of NFSv2 errors (with the exception of NFSERR_WFLUSH which
037:  * no-one uses anyway), so we can happily mix code as long as we make sure
038:  * no NFSv3 errors are returned to NFSv2 clients.
039:  * Error codes that have a `--' in the v2 column are not part of the
040:  * standard, but seem to be widely used nevertheless.
041:  */
042:  enum nfs_stat {
043:         NFS_OK = 0,                     /* v2 v3 v4 */
044:         NFSERR_PERM = 1,                /* v2 v3 v4 */
045:         NFSERR_NOENT = 2,               /* v2 v3 v4 */
046:         NFSERR_IO = 5,                  /* v2 v3 v4 */
047:         NFSERR_NXIO = 6,                /* v2 v3 v4 */
048:         NFSERR_EAGAIN = 11,             /* v2 v3 */
049:         NFSERR_ACCES = 13,              /* v2 v3 v4 */
050:         NFSERR_EXIST = 17,              /* v2 v3 v4 */
051:         NFSERR_XDEV = 18,               /*    v3 v4 */
052:         NFSERR_NODEV = 19,              /* v2 v3 v4 */
053:         NFSERR_NOTDIR = 20,             /* v2 v3 v4 */
054:         NFSERR_ISDIR = 21,              /* v2 v3 v4 */
055:         NFSERR_INVAL = 22,              /* v2 v3 v4 */
056:         NFSERR_FBIG = 27,               /* v2 v3 v4 */
057:         NFSERR_NOSPC = 28,              /* v2 v3 v4 */
058:         NFSERR_ROFS = 30,               /* v2 v3 v4 */
059:         NFSERR_MLINK = 31,              /*    v3 v4 */
060:         NFSERR_OPNOTSUPP = 45,          /* v2 v3 */
061:         NFSERR_NAMETOOLONG = 63,        /* v2 v3 v4 */
062:         NFSERR_NOTEMPTY = 66,           /* v2 v3 v4 */
063:         NFSERR_DQUOT = 69,              /* v2 v3 v4 */
064:         NFSERR_STALE = 70,              /* v2 v3 v4 */
065:         NFSERR_REMOTE = 71,             /* v2 v3 */
066:         NFSERR_WFLUSH = 99,             /* v2    */
067:         NFSERR_BADHANDLE = 10001,       /*    v3 v4 */
068:         NFSERR_NOT_SYNC = 10002,        /*    v3 */
069:         NFSERR_BAD_COOKIE = 10003,      /*    v3 v4 */
070:         NFSERR_NOTSUPP = 10004,         /*    v3 v4 */
071:         NFSERR_TOOSMALL = 10005,        /*    v3 v4 */
072:         NFSERR_SERVERFAULT = 10006,     /*    v3 v4 */
073:         NFSERR_BADTYPE = 10007,         /*    v3 v4 */
074:         NFSERR_JUKEBOX = 10008,         /*    v3 v4 */
075:         NFSERR_SAME = 10009,            /*       v4 */
076:         NFSERR_DENIED = 10010,          /*       v4 */
077:         NFSERR_EXPIRED = 10011,         /*       v4 */
078:         NFSERR_LOCKED = 10012,          /*       v4 */
079:         NFSERR_GRACE = 10013,           /*       v4 */
080:         NFSERR_FHEXPIRED = 10014,       /*       v4 */
081:         NFSERR_SHARE_DENIED = 10015,    /*       v4 */
082:         NFSERR_WRONGSEC = 10016,        /*       v4 */
083:         NFSERR_CLID_INUSE = 10017,      /*       v4 */
084:         NFSERR_RESOURCE = 10018,        /*       v4 */
085:         NFSERR_MOVED = 10019,           /*       v4 */
086:         NFSERR_NOFILEHANDLE = 10020,    /*       v4 */
087:         NFSERR_MINOR_VERS_MISMATCH = 10021,   /* v4 */
088:         NFSERR_STALE_CLIENTID = 10022,  /*       v4 */
089:         NFSERR_STALE_STATEID = 10023,   /*       v4 */
090:         NFSERR_OLD_STATEID = 10024,     /*       v4 */
091:         NFSERR_BAD_STATEID = 10025,     /*       v4 */  
092:         NFSERR_BAD_SEQID = 10026,       /*       v4 */
093:         NFSERR_NOT_SAME = 10027,        /*       v4 */
094:         NFSERR_LOCK_RANGE = 10028,      /*       v4 */
095:         NFSERR_SYMLINK = 10029,         /*       v4 */
096:         NFSERR_RESTOREFH = 10030,       /*       v4 */
097:         NFSERR_LEASE_MOVED = 10031,     /*       v4 */
098:         NFSERR_ATTRNOTSUPP = 10032,     /*       v4 */
099:         NFSERR_NO_GRACE = 10033,        /*       v4 */
100:         NFSERR_RECLAIM_BAD = 10034,     /*       v4 */
101:         NFSERR_RECLAIM_CONFLICT = 10035,/*       v4 */
102:         NFSERR_BAD_XDR = 10036,         /*       v4 */
103:         NFSERR_LOCKS_HELD = 10037,      /*       v4 */
104:         NFSERR_OPENMODE = 10038,       /*       v4 */
105:         NFSERR_BADOWNER = 10039,       /*       v4 */
106:         NFSERR_BADCHAR = 10040,        /*       v4 */
107:         NFSERR_BADNAME = 10041,        /*       v4 */
108:         NFSERR_BAD_RANGE = 10042,      /*       v4 */
109:         NFSERR_LOCK_NOTSUPP = 10043,   /*       v4 */
110:         NFSERR_OP_ILLEGAL = 10044,     /*       v4 */
111:         NFSERR_DEADLOCK = 10045,       /*       v4 */
112:         NFSERR_FILE_OPEN = 10046,      /*       v4 */
113:         NFSERR_ADMIN_REVOKED = 10047,  /*       v4 */
114:         NFSERR_CB_PATH_DOWN = 10048,   /*       v4 */
115: };
116: 
117: /* NFSv2 file types - beware, these are not the same in NFSv3 */
118: 
119: enum nfs_ftype {
120:         NFNON = 0,
121:         NFREG = 1,
122:         NFDIR = 2,
123:         NFBLK = 3,
124:         NFCHR = 4,
125:         NFLNK = 5,
126:         NFSOCK = 6,
127:         NFBAD = 7,
128:         NFFIFO = 8
129: };
130: 
131: #endif /* _LINUX_NFS_H */
132: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/