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