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