1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 /* 3 * Copyright (C) 2007 Red Hat, Inc. All rights reserved. 4 * 5 * This copyrighted material is made available to anyone wishing to use, 6 * modify, copy, or redistribute it subject to the terms and conditions 7 * of the GNU General Public License v.2. 8 */ 9 10 #ifndef _DLM_NETLINK_H 11 #define _DLM_NETLINK_H 12 13 #include <linux/types.h> 14 #include <linux/dlmconstants.h> 15 16 enum { 17 DLM_STATUS_WAITING = 1, 18 DLM_STATUS_GRANTED = 2, 19 DLM_STATUS_CONVERT = 3, 20 }; 21 22 #define DLM_LOCK_DATA_VERSION 1 23 24 struct dlm_lock_data { 25 __u16 version; 26 __u32 lockspace_id; 27 int nodeid; 28 int ownpid; 29 __u32 id; 30 __u32 remid; 31 __u64 xid; 32 __s8 status; 33 __s8 grmode; 34 __s8 rqmode; 35 unsigned long timestamp; 36 int resource_namelen; 37 char resource_name[DLM_RESNAME_MAXLEN]; 38 }; 39 40 enum { 41 DLM_CMD_UNSPEC = 0, 42 DLM_CMD_HELLO, /* user->kernel */ 43 DLM_CMD_TIMEOUT, /* kernel->user */ 44 __DLM_CMD_MAX, 45 }; 46 47 #define DLM_CMD_MAX (__DLM_CMD_MAX - 1) 48 49 enum { 50 DLM_TYPE_UNSPEC = 0, 51 DLM_TYPE_LOCK, 52 __DLM_TYPE_MAX, 53 }; 54 55 #define DLM_TYPE_MAX (__DLM_TYPE_MAX - 1) 56 57 #define DLM_GENL_VERSION 0x1 58 #define DLM_GENL_NAME "DLM" 59 60 #endif /* _DLM_NETLINK_H */ 61