Pull fujitsu-v3 into release branch
[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 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 */