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 14enum { 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 22struct 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 38enum { 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 47enum { 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