nfs2.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. /*
  3. * NFS protocol definitions
  4. *
  5. * This file contains constants for Version 2 of the protocol.
  6. */
  7. #ifndef _LINUX_NFS2_H
  8. #define _LINUX_NFS2_H
  9. #define NFS2_PORT 2049
  10. #define NFS2_MAXDATA 8192
  11. #define NFS2_MAXPATHLEN 1024
  12. #define NFS2_MAXNAMLEN 255
  13. #define NFS2_MAXGROUPS 16
  14. #define NFS2_FHSIZE 32
  15. #define NFS2_COOKIESIZE 4
  16. #define NFS2_FIFO_DEV (-1)
  17. #define NFS2MODE_FMT 0170000
  18. #define NFS2MODE_DIR 0040000
  19. #define NFS2MODE_CHR 0020000
  20. #define NFS2MODE_BLK 0060000
  21. #define NFS2MODE_REG 0100000
  22. #define NFS2MODE_LNK 0120000
  23. #define NFS2MODE_SOCK 0140000
  24. #define NFS2MODE_FIFO 0010000
  25. /* NFSv2 file types - beware, these are not the same in NFSv3 */
  26. enum nfs2_ftype {
  27. NF2NON = 0,
  28. NF2REG = 1,
  29. NF2DIR = 2,
  30. NF2BLK = 3,
  31. NF2CHR = 4,
  32. NF2LNK = 5,
  33. NF2SOCK = 6,
  34. NF2BAD = 7,
  35. NF2FIFO = 8
  36. };
  37. struct nfs2_fh {
  38. char data[NFS2_FHSIZE];
  39. };
  40. /*
  41. * Procedure numbers for NFSv2
  42. */
  43. #define NFS2_VERSION 2
  44. #define NFSPROC_NULL 0
  45. #define NFSPROC_GETATTR 1
  46. #define NFSPROC_SETATTR 2
  47. #define NFSPROC_ROOT 3
  48. #define NFSPROC_LOOKUP 4
  49. #define NFSPROC_READLINK 5
  50. #define NFSPROC_READ 6
  51. #define NFSPROC_WRITECACHE 7
  52. #define NFSPROC_WRITE 8
  53. #define NFSPROC_CREATE 9
  54. #define NFSPROC_REMOVE 10
  55. #define NFSPROC_RENAME 11
  56. #define NFSPROC_LINK 12
  57. #define NFSPROC_SYMLINK 13
  58. #define NFSPROC_MKDIR 14
  59. #define NFSPROC_RMDIR 15
  60. #define NFSPROC_READDIR 16
  61. #define NFSPROC_STATFS 17
  62. #endif /* _LINUX_NFS2_H */