1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #ifndef SERVICES_PRIVATE__H
20 # define SERVICES_PRIVATE__H
21
22 # include <glib.h>
23 # include "crm/services.h"
24
25 #if SUPPORT_DBUS
26 # include <dbus/dbus.h>
27 #endif
28
29 #define MAX_ARGC 255
30 struct svc_action_private_s {
31 char *exec;
32 char *args[MAX_ARGC];
33
34 uid_t uid;
35 gid_t gid;
36
37 guint repeat_timer;
38 void (*callback) (svc_action_t * op);
39
40 int stderr_fd;
41 mainloop_io_t *stderr_gsource;
42
43 int stdout_fd;
44 mainloop_io_t *stdout_gsource;
45 #if SUPPORT_DBUS
46 DBusPendingCall* pending;
47 unsigned timerid;
48 #endif
49 };
50
51 G_GNUC_INTERNAL
52 GList *services_os_get_directory_list(const char *root, gboolean files, gboolean executable);
53
54 G_GNUC_INTERNAL
55 gboolean services_os_action_execute(svc_action_t * op);
56
57 G_GNUC_INTERNAL
58 GList *resources_os_list_lsb_agents(void);
59
60 G_GNUC_INTERNAL
61 GList *resources_os_list_ocf_providers(void);
62
63 G_GNUC_INTERNAL
64 GList *resources_os_list_ocf_agents(const char *provider);
65
66 G_GNUC_INTERNAL
67 GList *resources_os_list_nagios_agents(void);
68
69 G_GNUC_INTERNAL
70 gboolean cancel_recurring_action(svc_action_t * op);
71
72 G_GNUC_INTERNAL
73 gboolean recurring_action_timer(gpointer data);
74
75 G_GNUC_INTERNAL
76 gboolean operation_finalize(svc_action_t * op);
77
78 G_GNUC_INTERNAL
79 void services_add_inflight_op(svc_action_t *op);
80
81 G_GNUC_INTERNAL
82 void services_untrack_op(svc_action_t *op);
83
84 G_GNUC_INTERNAL
85 gboolean is_op_blocked(const char *rsc);
86
87 #if SUPPORT_DBUS
88 G_GNUC_INTERNAL
89 void services_set_op_pending(svc_action_t *op, DBusPendingCall *pending);
90 #endif
91
92 #endif