nfs3.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * NFSv3 protocol definitions
  3.  */
  4. #ifndef _LINUX_NFS3_H
  5. #define _LINUX_NFS3_H
  6. #define NFS3_PORT 2049
  7. #define NFS3_MAXDATA 32768
  8. #define NFS3_MAXPATHLEN PATH_MAX
  9. #define NFS3_MAXNAMLEN NAME_MAX
  10. #define NFS3_MAXGROUPS 16
  11. #define NFS3_FHSIZE 64
  12. #define NFS3_COOKIESIZE 4
  13. #define NFS3_FIFO_DEV (-1)
  14. #define NFS3MODE_FMT 0170000
  15. #define NFS3MODE_DIR 0040000
  16. #define NFS3MODE_CHR 0020000
  17. #define NFS3MODE_BLK 0060000
  18. #define NFS3MODE_REG 0100000
  19. #define NFS3MODE_LNK 0120000
  20. #define NFS3MODE_SOCK 0140000
  21. #define NFS3MODE_FIFO 0010000
  22. /* Flags for access() call */
  23. #define NFS3_ACCESS_READ 0x0001
  24. #define NFS3_ACCESS_LOOKUP 0x0002
  25. #define NFS3_ACCESS_MODIFY 0x0004
  26. #define NFS3_ACCESS_EXTEND 0x0008
  27. #define NFS3_ACCESS_DELETE 0x0010
  28. #define NFS3_ACCESS_EXECUTE 0x0020
  29. /* Flags for create mode */
  30. enum nfs3_createmode {
  31. NFS3_CREATE_UNCHECKED = 0,
  32. NFS3_CREATE_GUARDED = 1,
  33. NFS3_CREATE_EXCLUSIVE = 2
  34. };
  35. /* NFSv3 file system properties */
  36. #define NFS3_FSF_LINK 0x0001
  37. #define NFS3_FSF_SYMLINK 0x0002
  38. #define NFS3_FSF_HOMOGENEOUS 0x0008
  39. #define NFS3_FSF_CANSETTIME 0x0010
  40. /* Some shorthands. See fs/nfsd/nfs3proc.c */
  41. #define NFS3_FSF_DEFAULT 0x001B
  42. #define NFS3_FSF_BILLYBOY 0x0018
  43. #define NFS3_FSF_READONLY 0x0008
  44. enum nfs3_ftype {
  45. NF3NON  = 0,
  46. NF3REG  = 1,
  47. NF3DIR  = 2,
  48. NF3BLK  = 3,
  49. NF3CHR  = 4,
  50. NF3LNK  = 5,
  51. NF3SOCK = 6,
  52. NF3FIFO = 7, /* changed from NFSv2 (was 8) */
  53. NF3BAD  = 8
  54. };
  55. #define NFS3_VERSION 3
  56. #define NFS3PROC_NULL 0
  57. #define NFS3PROC_GETATTR 1
  58. #define NFS3PROC_SETATTR 2
  59. #define NFS3PROC_LOOKUP 3
  60. #define NFS3PROC_ACCESS 4
  61. #define NFS3PROC_READLINK 5
  62. #define NFS3PROC_READ 6
  63. #define NFS3PROC_WRITE 7
  64. #define NFS3PROC_CREATE 8
  65. #define NFS3PROC_MKDIR 9
  66. #define NFS3PROC_SYMLINK 10
  67. #define NFS3PROC_MKNOD 11
  68. #define NFS3PROC_REMOVE 12
  69. #define NFS3PROC_RMDIR 13
  70. #define NFS3PROC_RENAME 14
  71. #define NFS3PROC_LINK 15
  72. #define NFS3PROC_READDIR 16
  73. #define NFS3PROC_READDIRPLUS 17
  74. #define NFS3PROC_FSSTAT 18
  75. #define NFS3PROC_FSINFO 19
  76. #define NFS3PROC_PATHCONF 20
  77. #define NFS3PROC_COMMIT 21
  78. #define NFS_MNT3_PROGRAM 100005
  79. #define NFS_MNT3_VERSION 3
  80. #define MOUNTPROC3_NULL 0
  81. #define MOUNTPROC3_MNT 1
  82. #define MOUNTPROC3_UMNT 3
  83. #define MOUNTPROC3_UMNTALL 4
  84.  
  85. #if defined(__KERNEL__) || defined(NFS_NEED_KERNEL_TYPES)
  86. /* Number of 32bit words in post_op_attr */
  87. #define NFS3_POST_OP_ATTR_WORDS 22
  88. #endif /* __KERNEL__ */
  89. #endif /* _LINUX_NFS3_H */