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