• 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 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