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 */ 18enum { 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 */ 58