pacemaker  2.0.3-4b1f869f0f
Scalable High-Availability cluster resource manager
services_private.h
Go to the documentation of this file.
1 /*
2  * Copyright 2010-2018 Red Hat, Inc.
3  *
4  * This source code is licensed under the GNU Lesser General Public License
5  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
6  */
7 
8 #ifndef SERVICES_PRIVATE__H
9 # define SERVICES_PRIVATE__H
10 
11 # include <glib.h>
12 # include "crm/services.h"
13 
14 #if SUPPORT_DBUS
15 # include <dbus/dbus.h>
16 #endif
17 
18 #define MAX_ARGC 255
20  char *exec;
21  char *args[MAX_ARGC];
22 
23  uid_t uid;
24  gid_t gid;
25 
26  guint repeat_timer;
27  void (*callback) (svc_action_t * op);
28  void (*fork_callback) (svc_action_t * op);
29 
30  int stderr_fd;
32 
33  int stdout_fd;
35 
36  int stdin_fd;
37 #if SUPPORT_DBUS
38  DBusPendingCall* pending;
39  unsigned timerid;
40 #endif
41 };
42 
43 G_GNUC_INTERNAL
44 GList *services_os_get_directory_list(const char *root, gboolean files, gboolean executable);
45 
46 G_GNUC_INTERNAL
48 
49 G_GNUC_INTERNAL
51 
52 G_GNUC_INTERNAL
53 GList *resources_os_list_ocf_agents(const char *provider);
54 
55 G_GNUC_INTERNAL
56 gboolean services__ocf_agent_exists(const char *provider, const char *agent);
57 
58 G_GNUC_INTERNAL
60 
61 G_GNUC_INTERNAL
62 gboolean services__nagios_agent_exists(const char *agent);
63 
64 G_GNUC_INTERNAL
66 
67 G_GNUC_INTERNAL
68 gboolean recurring_action_timer(gpointer data);
69 
70 G_GNUC_INTERNAL
71 gboolean operation_finalize(svc_action_t * op);
72 
73 G_GNUC_INTERNAL
75 
76 G_GNUC_INTERNAL
78 
79 G_GNUC_INTERNAL
80 gboolean is_op_blocked(const char *rsc);
81 
82 #if SUPPORT_DBUS
83 G_GNUC_INTERNAL
84 void services_set_op_pending(svc_action_t *op, DBusPendingCall *pending);
85 #endif
86 
87 #endif /* SERVICES_PRIVATE__H */
resources_os_list_ocf_providers
G_GNUC_INTERNAL GList * resources_os_list_ocf_providers(void)
Definition: services_linux.c:1005
svc_action_private_s::stdin_fd
int stdin_fd
Definition: services_private.h:36
svc_action_private_s::gid
gid_t gid
Definition: services_private.h:24
svc_action_private_s::uid
uid_t uid
Definition: services_private.h:23
data
char data[0]
Definition: internal.h:90
cancel_recurring_action
G_GNUC_INTERNAL gboolean cancel_recurring_action(svc_action_t *op)
Definition: services.c:515
svc_action_private_s
Definition: services_private.h:19
services__nagios_agent_exists
G_GNUC_INTERNAL gboolean services__nagios_agent_exists(const char *agent)
resources_os_list_ocf_agents
G_GNUC_INTERNAL GList * resources_os_list_ocf_agents(const char *provider)
Definition: services_linux.c:1011
services_add_inflight_op
G_GNUC_INTERNAL void services_add_inflight_op(svc_action_t *op)
Definition: services.c:699
operation_finalize
G_GNUC_INTERNAL gboolean operation_finalize(svc_action_t *op)
Definition: services_linux.c:279
svc_action_private_s::args
char * args[MAX_ARGC]
Definition: services_private.h:21
svc_action_private_s::exec
char * exec
Definition: services_private.h:20
is_op_blocked
G_GNUC_INTERNAL gboolean is_op_blocked(const char *rsc)
Definition: services.c:772
svc_action_private_s::stderr_fd
int stderr_fd
Definition: services_private.h:30
svc_action_private_s::stdout_fd
int stdout_fd
Definition: services_private.h:33
svc_action_s
Definition: services.h:151
services_os_action_execute
G_GNUC_INTERNAL gboolean services_os_action_execute(svc_action_t *op)
Definition: services_linux.c:693
svc_action_private_s::stdout_gsource
mainloop_io_t * stdout_gsource
Definition: services_private.h:34
resources_os_list_nagios_agents
G_GNUC_INTERNAL GList * resources_os_list_nagios_agents(void)
svc_action_private_s::fork_callback
void(* fork_callback)(svc_action_t *op)
Definition: services_private.h:28
svc_action_private_s::repeat_timer
guint repeat_timer
Definition: services_private.h:26
svc_action_private_s::callback
void(* callback)(svc_action_t *op)
Definition: services_private.h:27
recurring_action_timer
G_GNUC_INTERNAL gboolean recurring_action_timer(gpointer data)
Definition: services_linux.c:260
mainloop_io_t
struct mainloop_io_s mainloop_io_t
Definition: mainloop.h:32
services.h
Services API.
services_os_get_directory_list
G_GNUC_INTERNAL GList * services_os_get_directory_list(const char *root, gboolean files, gboolean executable)
Definition: services_linux.c:950
services_untrack_op
G_GNUC_INTERNAL void services_untrack_op(svc_action_t *op)
Definition: services.c:720
svc_action_private_s::stderr_gsource
mainloop_io_t * stderr_gsource
Definition: services_private.h:31
MAX_ARGC
#define MAX_ARGC
Definition: services_private.h:18
services__ocf_agent_exists
G_GNUC_INTERNAL gboolean services__ocf_agent_exists(const char *provider, const char *agent)
Definition: services_linux.c:1038