~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/nfs.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * NFS protocol definitions
  3  *
  4  * This file contains constants mostly for Version 2 of the protocol,
  5  * but also has a couple of NFSv3 bits in (notably the error codes).
  6  */
  7 #ifndef _LINUX_NFS_H
  8 #define _LINUX_NFS_H
  9 
 10 #include <linux/sunrpc/msg_prot.h>
 11 
 12 #define NFS_PROGRAM     100003
 13 #define NFS_PORT        2049
 14 #define NFS_MAXDATA     8192
 15 #define NFS_MAXPATHLEN  1024
 16 #define NFS_MAXNAMLEN   255
 17 #define NFS_MAXGROUPS   16
 18 #define NFS_FHSIZE      32
 19 #define NFS_COOKIESIZE  4
 20 #define NFS_FIFO_DEV    (-1)
 21 #define NFSMODE_FMT     0170000
 22 #define NFSMODE_DIR     0040000
 23 #define NFSMODE_CHR     0020000
 24 #define NFSMODE_BLK     0060000
 25 #define NFSMODE_REG     0100000
 26 #define NFSMODE_LNK     0120000
 27 #define NFSMODE_SOCK    0140000
 28 #define NFSMODE_FIFO    0010000
 29 
 30 #define NFS_MNT_PROGRAM 100005
 31 #define NFS_MNT_PORT    627
 32 
 33 /*
 34  * NFS stats. The good thing with these values is that NFSv3 errors are
 35  * a superset of NFSv2 errors (with the exception of NFSERR_WFLUSH which
 36  * no-one uses anyway), so we can happily mix code as long as we make sure
 37  * no NFSv3 errors are returned to NFSv2 clients.
 38  * Error codes that have a `--' in the v2 column are not part of the
 39  * standard, but seem to be widely used nevertheless.
 40  */
 41  enum nfs_stat {
 42         NFS_OK = 0,                     /* v2 v3 */
 43         NFSERR_PERM = 1,                /* v2 v3 */
 44         NFSERR_NOENT = 2,               /* v2 v3 */
 45         NFSERR_IO = 5,                  /* v2 v3 */
 46         NFSERR_NXIO = 6,                /* v2 v3 */
 47         NFSERR_EAGAIN = 11,             /* v2 v3 */
 48         NFSERR_ACCES = 13,              /* v2 v3 */
 49         NFSERR_EXIST = 17,              /* v2 v3 */
 50         NFSERR_XDEV = 18,               /*    v3 */
 51         NFSERR_NODEV = 19,              /* v2 v3 */
 52         NFSERR_NOTDIR = 20,             /* v2 v3 */
 53         NFSERR_ISDIR = 21,              /* v2 v3 */
 54         NFSERR_INVAL = 22,              /* v2 v3 that Sun forgot */
 55         NFSERR_FBIG = 27,               /* v2 v3 */
 56         NFSERR_NOSPC = 28,              /* v2 v3 */
 57         NFSERR_ROFS = 30,               /* v2 v3 */
 58         NFSERR_MLINK = 31,              /*    v3 */
 59         NFSERR_OPNOTSUPP = 45,          /* v2 v3 */
 60         NFSERR_NAMETOOLONG = 63,        /* v2 v3 */
 61         NFSERR_NOTEMPTY = 66,           /* v2 v3 */
 62         NFSERR_DQUOT = 69,              /* v2 v3 */
 63         NFSERR_STALE = 70,              /* v2 v3 */
 64         NFSERR_REMOTE = 71,             /* v2 v3 */
 65         NFSERR_WFLUSH = 99,             /* v2    */
 66         NFSERR_BADHANDLE = 10001,       /*    v3 */
 67         NFSERR_NOT_SYNC = 10002,        /*    v3 */
 68         NFSERR_BAD_COOKIE = 10003,      /*    v3 */
 69         NFSERR_NOTSUPP = 10004,         /*    v3 */
 70         NFSERR_TOOSMALL = 10005,        /*    v3 */
 71         NFSERR_SERVERFAULT = 10006,     /*    v3 */
 72         NFSERR_BADTYPE = 10007,         /*    v3 */
 73         NFSERR_JUKEBOX = 10008          /*    v3 */
 74  };
 75  
 76 /* NFSv2 file types - beware, these are not the same in NFSv3 */
 77 
 78 enum nfs_ftype {
 79         NFNON = 0,
 80         NFREG = 1,
 81         NFDIR = 2,
 82         NFBLK = 3,
 83         NFCHR = 4,
 84         NFLNK = 5,
 85         NFSOCK = 6,
 86         NFBAD = 7,
 87         NFFIFO = 8
 88 };
 89 
 90 #if defined(__KERNEL__)
 91 /*
 92  * This is the kernel NFS client file handle representation
 93  */
 94 #define NFS_MAXFHSIZE           64
 95 struct nfs_fh {
 96         unsigned short          size;
 97         unsigned char           data[NFS_MAXFHSIZE];
 98 };
 99 
100 /*
101  * This is really a general kernel constant, but since nothing like
102  * this is defined in the kernel headers, I have to do it here.
103  */
104 #define NFS_OFFSET_MAX          ((__s64)((~(__u64)0) >> 1))
105 
106 
107 enum nfs3_stable_how {
108         NFS_UNSTABLE = 0,
109         NFS_DATA_SYNC = 1,
110         NFS_FILE_SYNC = 2
111 };
112 #endif /* __KERNEL__ */
113 #endif /* _LINUX_NFS_H */
114 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.