projects/linux·blob master · refs

56 lines · 1.3 KiB

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