869b630cba2490a847b2a3fc753a1d49e753aa51
[safe/jmp/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 #include <linux/config.h>
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 */