12402211a8389282fd2942fad4511f02c0eeeffc5David Teigland/* 22402211a8389282fd2942fad4511f02c0eeeffc5David Teigland * Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. 32402211a8389282fd2942fad4511f02c0eeeffc5David Teigland * 42402211a8389282fd2942fad4511f02c0eeeffc5David Teigland * This copyrighted material is made available to anyone wishing to use, 52402211a8389282fd2942fad4511f02c0eeeffc5David Teigland * modify, copy, or redistribute it subject to the terms and conditions 62402211a8389282fd2942fad4511f02c0eeeffc5David Teigland * of the GNU General Public License v.2. 72402211a8389282fd2942fad4511f02c0eeeffc5David Teigland */ 82402211a8389282fd2942fad4511f02c0eeeffc5David Teigland 92402211a8389282fd2942fad4511f02c0eeeffc5David Teigland#ifndef __DLM_PLOCK_DOT_H__ 102402211a8389282fd2942fad4511f02c0eeeffc5David Teigland#define __DLM_PLOCK_DOT_H__ 112402211a8389282fd2942fad4511f02c0eeeffc5David Teigland 1237eb1f4c3320ed505fbe59a916635b2342c740e4Jaswinder Singh Rajput#include <linux/types.h> 1337eb1f4c3320ed505fbe59a916635b2342c740e4Jaswinder Singh Rajput 142402211a8389282fd2942fad4511f02c0eeeffc5David Teigland#define DLM_PLOCK_MISC_NAME "dlm_plock" 152402211a8389282fd2942fad4511f02c0eeeffc5David Teigland 162402211a8389282fd2942fad4511f02c0eeeffc5David Teigland#define DLM_PLOCK_VERSION_MAJOR 1 17901025d2f3194b4868980c8ba80df4cc0aa1282cDavid Teigland#define DLM_PLOCK_VERSION_MINOR 2 182402211a8389282fd2942fad4511f02c0eeeffc5David Teigland#define DLM_PLOCK_VERSION_PATCH 0 192402211a8389282fd2942fad4511f02c0eeeffc5David Teigland 202402211a8389282fd2942fad4511f02c0eeeffc5David Teiglandenum { 212402211a8389282fd2942fad4511f02c0eeeffc5David Teigland DLM_PLOCK_OP_LOCK = 1, 222402211a8389282fd2942fad4511f02c0eeeffc5David Teigland DLM_PLOCK_OP_UNLOCK, 232402211a8389282fd2942fad4511f02c0eeeffc5David Teigland DLM_PLOCK_OP_GET, 242402211a8389282fd2942fad4511f02c0eeeffc5David Teigland}; 252402211a8389282fd2942fad4511f02c0eeeffc5David Teigland 26901025d2f3194b4868980c8ba80df4cc0aa1282cDavid Teigland#define DLM_PLOCK_FL_CLOSE 1 27901025d2f3194b4868980c8ba80df4cc0aa1282cDavid Teigland 282402211a8389282fd2942fad4511f02c0eeeffc5David Teiglandstruct dlm_plock_info { 292402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u32 version[3]; 302402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u8 optype; 312402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u8 ex; 322402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u8 wait; 33901025d2f3194b4868980c8ba80df4cc0aa1282cDavid Teigland __u8 flags; 342402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u32 pid; 352402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __s32 nodeid; 362402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __s32 rv; 372402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u32 fsid; 382402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u64 number; 392402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u64 start; 402402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u64 end; 412402211a8389282fd2942fad4511f02c0eeeffc5David Teigland __u64 owner; 422402211a8389282fd2942fad4511f02c0eeeffc5David Teigland}; 432402211a8389282fd2942fad4511f02c0eeeffc5David Teigland 442402211a8389282fd2942fad4511f02c0eeeffc5David Teigland#ifdef __KERNEL__ 452402211a8389282fd2942fad4511f02c0eeeffc5David Teiglandint dlm_posix_lock(dlm_lockspace_t *lockspace, u64 number, struct file *file, 462402211a8389282fd2942fad4511f02c0eeeffc5David Teigland int cmd, struct file_lock *fl); 472402211a8389282fd2942fad4511f02c0eeeffc5David Teiglandint dlm_posix_unlock(dlm_lockspace_t *lockspace, u64 number, struct file *file, 482402211a8389282fd2942fad4511f02c0eeeffc5David Teigland struct file_lock *fl); 492402211a8389282fd2942fad4511f02c0eeeffc5David Teiglandint dlm_posix_get(dlm_lockspace_t *lockspace, u64 number, struct file *file, 502402211a8389282fd2942fad4511f02c0eeeffc5David Teigland struct file_lock *fl); 512402211a8389282fd2942fad4511f02c0eeeffc5David Teigland#endif /* __KERNEL__ */ 522402211a8389282fd2942fad4511f02c0eeeffc5David Teigland 532402211a8389282fd2942fad4511f02c0eeeffc5David Teigland#endif 542402211a8389282fd2942fad4511f02c0eeeffc5David Teigland 55