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