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 enum { 13 DLM_STATUS_WAITING = 1, 14 DLM_STATUS_GRANTED = 2, 15 DLM_STATUS_CONVERT = 3, 16 }; 17 18 #define DLM_LOCK_DATA_VERSION 1 19 20 struct dlm_lock_data { 21 uint16_t version; 22 uint32_t lockspace_id; 23 int nodeid; 24 int ownpid; 25 uint32_t id; 26 uint32_t remid; 27 uint64_t xid; 28 int8_t status; 29 int8_t grmode; 30 int8_t rqmode; 31 unsigned long timestamp; 32 int resource_namelen; 33 char resource_name[DLM_RESNAME_MAXLEN]; 34 }; 35 36 enum { 37 DLM_CMD_UNSPEC = 0, 38 DLM_CMD_HELLO, /* user->kernel */ 39 DLM_CMD_TIMEOUT, /* kernel->user */ 40 __DLM_CMD_MAX, 41 }; 42 43 #define DLM_CMD_MAX (__DLM_CMD_MAX - 1) 44 45 enum { 46 DLM_TYPE_UNSPEC = 0, 47 DLM_TYPE_LOCK, 48 __DLM_TYPE_MAX, 49 }; 50 51 #define DLM_TYPE_MAX (__DLM_TYPE_MAX - 1) 52 53 #define DLM_GENL_VERSION 0x1 54 #define DLM_GENL_NAME "DLM" 55 56 #endif /* _DLM_NETLINK_H */ 57