Merge branch 'topic/hda' into for-linus
[linux-2.6] / include / linux / dlm_netlink.h
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 */