summaryrefslogtreecommitdiff
path: root/daemons/lvmlockd/lvmlockd-client.h
diff options
context:
space:
mode:
Diffstat (limited to 'daemons/lvmlockd/lvmlockd-client.h')
-rw-r--r--daemons/lvmlockd/lvmlockd-client.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/daemons/lvmlockd/lvmlockd-client.h b/daemons/lvmlockd/lvmlockd-client.h
new file mode 100644
index 000000000..0a3e4b2d2
--- /dev/null
+++ b/daemons/lvmlockd/lvmlockd-client.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2014 Red Hat, Inc.
+ *
+ * This file is part of LVM2.
+ *
+ * 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 Lesser General Public License v.2.1.
+ */
+
+#ifndef _LVM_LVMLOCKD_CLIENT_H
+#define _LVM_LVMLOCKD_CLIENT_H
+
+#include "daemon-client.h"
+
+#define LVMLOCKD_SOCKET DEFAULT_RUN_DIR "/lvmlockd.socket"
+
+/* Wrappers to open/close connection */
+
+static inline daemon_handle lvmlockd_open(const char *sock)
+{
+ daemon_info lvmlockd_info = {
+ .path = "lvmlockd",
+ .socket = sock ?: LVMLOCKD_SOCKET,
+ .protocol = "lvmlockd",
+ .protocol_version = 1,
+ .autostart = 0
+ };
+
+ return daemon_open(lvmlockd_info);
+}
+
+static inline void lvmlockd_close(daemon_handle h)
+{
+ return daemon_close(h);
+}
+
+/*
+ * Errors returned as the lvmlockd result value.
+ */
+#define ENOLS 210 /* lockspace not found */
+#define ESTARTING 211 /* lockspace is starting */
+#define EARGS 212
+#define EHOSTID 213
+#define EMANAGER 214
+#define EPREPARE 215
+#define ELOCKD 216
+
+#endif