• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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