Merge tag 'linux-kselftest-5.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / include / uapi / linux / dlm_netlink.h
CommitLineData
e2be04c7 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3ae1acf9
DT
2/*
3 * Copyright (C) 2007 Red Hat, Inc. All rights reserved.
4 *
5 * This copyrighted material is made available to anyone wishing to use,
6 * modify, copy, or redistribute it subject to the terms and conditions
7 * of the GNU General Public License v.2.
8 */
9
10#ifndef _DLM_NETLINK_H
11#define _DLM_NETLINK_H
12
9adfbfb6 13#include <linux/types.h>
f02a6092 14#include <linux/dlmconstants.h>
9adfbfb6 15
3ae1acf9
DT
16enum {
17 DLM_STATUS_WAITING = 1,
18 DLM_STATUS_GRANTED = 2,
19 DLM_STATUS_CONVERT = 3,
20};
21
22#define DLM_LOCK_DATA_VERSION 1
23
24struct dlm_lock_data {
9adfbfb6
AB
25 __u16 version;
26 __u32 lockspace_id;
3ae1acf9
DT
27 int nodeid;
28 int ownpid;
9adfbfb6
AB
29 __u32 id;
30 __u32 remid;
31 __u64 xid;
32 __s8 status;
33 __s8 grmode;
34 __s8 rqmode;
3ae1acf9
DT
35 unsigned long timestamp;
36 int resource_namelen;
37 char resource_name[DLM_RESNAME_MAXLEN];
38};
39
40enum {
41 DLM_CMD_UNSPEC = 0,
42 DLM_CMD_HELLO, /* user->kernel */
43 DLM_CMD_TIMEOUT, /* kernel->user */
44 __DLM_CMD_MAX,
45};
46
47#define DLM_CMD_MAX (__DLM_CMD_MAX - 1)
48
49enum {
50 DLM_TYPE_UNSPEC = 0,
51 DLM_TYPE_LOCK,
52 __DLM_TYPE_MAX,
53};
54
55#define DLM_TYPE_MAX (__DLM_TYPE_MAX - 1)
56
57#define DLM_GENL_VERSION 0x1
58#define DLM_GENL_NAME "DLM"
59
60#endif /* _DLM_NETLINK_H */