#ifndef USERDLM_H
#define USERDLM_H
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/workqueue.h>
#define USER_LOCK_ATTACHED …
#define USER_LOCK_BUSY …
#define USER_LOCK_BLOCKED …
#define USER_LOCK_IN_TEARDOWN …
#define USER_LOCK_QUEUED …
#define USER_LOCK_IN_CANCEL …
struct user_lock_res { … };
extern struct workqueue_struct *user_dlm_worker;
void user_dlm_lock_res_init(struct user_lock_res *lockres,
struct dentry *dentry);
int user_dlm_destroy_lock(struct user_lock_res *lockres);
int user_dlm_cluster_lock(struct user_lock_res *lockres,
int level,
int lkm_flags);
void user_dlm_cluster_unlock(struct user_lock_res *lockres,
int level);
void user_dlm_write_lvb(struct inode *inode,
const char *val,
unsigned int len);
bool user_dlm_read_lvb(struct inode *inode, char *val);
struct ocfs2_cluster_connection *user_dlm_register(const struct qstr *name);
void user_dlm_unregister(struct ocfs2_cluster_connection *conn);
void user_dlm_set_locking_protocol(void);
struct dlmfs_inode_private { … };
static inline struct dlmfs_inode_private *
DLMFS_I(struct inode *inode)
{ … }
struct dlmfs_filp_private { … };
#define DLMFS_MAGIC …
#endif