nlm.h 1.3 KB

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