summaryrefslogtreecommitdiffstats
path: root/lib/services/services_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/services/services_private.h')
-rw-r--r--lib/services/services_private.h101
1 files changed, 101 insertions, 0 deletions
diff --git a/lib/services/services_private.h b/lib/services/services_private.h
new file mode 100644
index 0000000..48269b8
--- /dev/null
+++ b/lib/services/services_private.h
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2010-2011 Red Hat, Inc.
+ * Later changes copyright 2012-2022 the Pacemaker project contributors
+ *
+ * The version control history for this file may have further details.
+ *
+ * This source code is licensed under the GNU Lesser General Public License
+ * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
+ */
+
+#ifndef SERVICES_PRIVATE__H
+# define SERVICES_PRIVATE__H
+
+# include <glib.h>
+# include "crm/services.h"
+
+#if HAVE_DBUS
+# include <dbus/dbus.h>
+#endif
+
+#define MAX_ARGC 255
+struct svc_action_private_s {
+ char *exec;
+ char *exit_reason;
+ char *args[MAX_ARGC];
+
+ uid_t uid;
+ gid_t gid;
+
+ guint repeat_timer;
+ void (*callback) (svc_action_t * op);
+ void (*fork_callback) (svc_action_t * op);
+
+ int stderr_fd;
+ mainloop_io_t *stderr_gsource;
+
+ int stdout_fd;
+ mainloop_io_t *stdout_gsource;
+
+ int stdin_fd;
+#if HAVE_DBUS
+ DBusPendingCall* pending;
+ unsigned timerid;
+#endif
+};
+
+G_GNUC_INTERNAL
+const char *services__action_kind(const svc_action_t *action);
+
+G_GNUC_INTERNAL
+GList *services_os_get_single_directory_list(const char *root, gboolean files,
+ gboolean executable);
+
+G_GNUC_INTERNAL
+GList *services_os_get_directory_list(const char *root, gboolean files, gboolean executable);
+
+G_GNUC_INTERNAL
+int services__execute_file(svc_action_t *op);
+
+G_GNUC_INTERNAL
+gboolean cancel_recurring_action(svc_action_t * op);
+
+G_GNUC_INTERNAL
+gboolean recurring_action_timer(gpointer data);
+
+G_GNUC_INTERNAL
+int services__finalize_async_op(svc_action_t *op);
+
+G_GNUC_INTERNAL
+int services__generic_error(const svc_action_t *op);
+
+G_GNUC_INTERNAL
+int services__not_installed_error(const svc_action_t *op);
+
+G_GNUC_INTERNAL
+int services__authorization_error(const svc_action_t *op);
+
+G_GNUC_INTERNAL
+int services__configuration_error(const svc_action_t *op, bool is_fatal);
+
+G_GNUC_INTERNAL
+void services__handle_exec_error(svc_action_t * op, int error);
+
+G_GNUC_INTERNAL
+void services__set_cancelled(svc_action_t *action);
+
+G_GNUC_INTERNAL
+void services_add_inflight_op(svc_action_t *op);
+
+G_GNUC_INTERNAL
+void services_untrack_op(const svc_action_t *op);
+
+G_GNUC_INTERNAL
+gboolean is_op_blocked(const char *rsc);
+
+#if HAVE_DBUS
+G_GNUC_INTERNAL
+void services_set_op_pending(svc_action_t *op, DBusPendingCall *pending);
+#endif
+
+#endif /* SERVICES_PRIVATE__H */