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