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