pacemaker  2.1.1-52dc28db4
Scalable High-Availability cluster resource manager
services_private.h
Go to the documentation of this file.
1 /*
2  * Copyright 2010-2011 Red Hat, Inc.
3  * Later changes copyright 2012-2021 the Pacemaker project contributors
4  *
5  * The version control history for this file may have further details.
6  *
7  * This source code is licensed under the GNU Lesser General Public License
8  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
9  */
10 
11 #ifndef SERVICES_PRIVATE__H
12 # define SERVICES_PRIVATE__H
13 
14 # include <glib.h>
15 # include "crm/services.h"
16 
17 #if SUPPORT_DBUS
18 # include <dbus/dbus.h>
19 #endif
20 
21 #define MAX_ARGC 255
23  char *exec;
24  char *args[MAX_ARGC];
25 
26  uid_t uid;
27  gid_t gid;
28 
29  guint repeat_timer;
30  void (*callback) (svc_action_t * op);
31  void (*fork_callback) (svc_action_t * op);
32 
33  int stderr_fd;
35 
36  int stdout_fd;
38 
39  int stdin_fd;
40 #if SUPPORT_DBUS
41  DBusPendingCall* pending;
42  unsigned timerid;
43 #endif
44 };
45 
46 G_GNUC_INTERNAL
47 GList *services_os_get_directory_list(const char *root, gboolean files, gboolean executable);
48 
49 G_GNUC_INTERNAL
51 
52 G_GNUC_INTERNAL
54 
55 G_GNUC_INTERNAL
56 GList *resources_os_list_ocf_agents(const char *provider);
57 
58 G_GNUC_INTERNAL
59 gboolean services__ocf_agent_exists(const char *provider, const char *agent);
60 
61 G_GNUC_INTERNAL
63 
64 G_GNUC_INTERNAL
65 gboolean recurring_action_timer(gpointer data);
66 
67 G_GNUC_INTERNAL
68 gboolean operation_finalize(svc_action_t * op);
69 
70 G_GNUC_INTERNAL
71 void services__handle_exec_error(svc_action_t * op, int error);
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 */
Services API.
void(* callback)(svc_action_t *op)
char data[0]
Definition: cpg.c:55
mainloop_io_t * stderr_gsource
G_GNUC_INTERNAL gboolean services_os_action_execute(svc_action_t *op)
G_GNUC_INTERNAL GList * services_os_get_directory_list(const char *root, gboolean files, gboolean executable)
G_GNUC_INTERNAL gboolean operation_finalize(svc_action_t *op)
struct mainloop_io_s mainloop_io_t
Definition: mainloop.h:32
G_GNUC_INTERNAL gboolean cancel_recurring_action(svc_action_t *op)
Definition: services.c:565
G_GNUC_INTERNAL void services__handle_exec_error(svc_action_t *op, int error)
G_GNUC_INTERNAL GList * resources_os_list_ocf_providers(void)
G_GNUC_INTERNAL gboolean recurring_action_timer(gpointer data)
#define MAX_ARGC
char * args[MAX_ARGC]
G_GNUC_INTERNAL GList * resources_os_list_ocf_agents(const char *provider)
G_GNUC_INTERNAL gboolean is_op_blocked(const char *rsc)
Definition: services.c:822
G_GNUC_INTERNAL gboolean services__ocf_agent_exists(const char *provider, const char *agent)
mainloop_io_t * stdout_gsource
G_GNUC_INTERNAL void services_add_inflight_op(svc_action_t *op)
Definition: services.c:749
G_GNUC_INTERNAL void services_untrack_op(svc_action_t *op)
Definition: services.c:770
void(* fork_callback)(svc_action_t *op)