linux/include/uapi/linux/dlm_device.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/******************************************************************************
*******************************************************************************
**
**  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
**  Copyright (C) 2004-2007 Red Hat, Inc.  All rights reserved.
**
**  This copyrighted material is made available to anyone wishing to use,
**  modify, copy, or redistribute it subject to the terms and conditions
**  of the GNU General Public License v.2.
**
*******************************************************************************
******************************************************************************/

#ifndef _LINUX_DLM_DEVICE_H
#define _LINUX_DLM_DEVICE_H

/* This is the device interface for dlm, most users will use a library
 * interface.
 */

#include <linux/dlm.h>
#include <linux/types.h>

#define DLM_USER_LVB_LEN

/* Version of the device interface */
#define DLM_DEVICE_VERSION_MAJOR
#define DLM_DEVICE_VERSION_MINOR
#define DLM_DEVICE_VERSION_PATCH

/* struct passed to the lock write */
struct dlm_lock_params {};

struct dlm_lspace_params {};

struct dlm_purge_params {};

struct dlm_write_request {};

struct dlm_device_version {};

/* struct read from the "device" fd,
   consists mainly of userspace pointers for the library to use */

struct dlm_lock_result {};

/* Commands passed to the device */
#define DLM_USER_LOCK
#define DLM_USER_UNLOCK
#define DLM_USER_QUERY
#define DLM_USER_CREATE_LOCKSPACE
#define DLM_USER_REMOVE_LOCKSPACE
#define DLM_USER_PURGE
#define DLM_USER_DEADLOCK

/* Lockspace flags */
#define DLM_USER_LSFLG_AUTOFREE
#define DLM_USER_LSFLG_FORCEFREE

#endif