nlm.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * linux/include/linux/lockd/nlm.h
  3. *
  4. * Declarations for the Network Lock Manager protocol.
  5. *
  6. * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
  7. */
  8. #ifndef LINUX_LOCKD_NLM_H
  9. #define LINUX_LOCKD_NLM_H
  10. /* Maximum file offset in file_lock.fl_end */
  11. # define NLM_OFFSET_MAX ((s32) 0x7fffffff)
  12. # define NLM4_OFFSET_MAX ((s64) ((~(u64)0) >> 1))
  13. /* Return states for NLM */
  14. enum {
  15. NLM_LCK_GRANTED = 0,
  16. NLM_LCK_DENIED = 1,
  17. NLM_LCK_DENIED_NOLOCKS = 2,
  18. NLM_LCK_BLOCKED = 3,
  19. NLM_LCK_DENIED_GRACE_PERIOD = 4,
  20. #ifdef CONFIG_LOCKD_V4
  21. NLM_DEADLCK = 5,
  22. NLM_ROFS = 6,
  23. NLM_STALE_FH = 7,
  24. NLM_FBIG = 8,
  25. NLM_FAILED = 9,
  26. #endif
  27. };
  28. #define NLM_PROGRAM 100021
  29. #define NLMPROC_NULL 0
  30. #define NLMPROC_TEST 1
  31. #define NLMPROC_LOCK 2
  32. #define NLMPROC_CANCEL 3
  33. #define NLMPROC_UNLOCK 4
  34. #define NLMPROC_GRANTED 5
  35. #define NLMPROC_TEST_MSG 6
  36. #define NLMPROC_LOCK_MSG 7
  37. #define NLMPROC_CANCEL_MSG 8
  38. #define NLMPROC_UNLOCK_MSG 9
  39. #define NLMPROC_GRANTED_MSG 10
  40. #define NLMPROC_TEST_RES 11
  41. #define NLMPROC_LOCK_RES 12
  42. #define NLMPROC_CANCEL_RES 13
  43. #define NLMPROC_UNLOCK_RES 14
  44. #define NLMPROC_GRANTED_RES 15
  45. #define NLMPROC_NSM_NOTIFY 16 /* statd callback */
  46. #define NLMPROC_SHARE 20
  47. #define NLMPROC_UNSHARE 21
  48. #define NLMPROC_NM_LOCK 22
  49. #define NLMPROC_FREE_ALL 23
  50. #endif /* LINUX_LOCKD_NLM_H */