root/lib/services/services_private.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   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
  22 struct svc_action_private_s {
  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;
  34     mainloop_io_t *stderr_gsource;
  35 
  36     int stdout_fd;
  37     mainloop_io_t *stdout_gsource;
  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
  50 gboolean services_os_action_execute(svc_action_t * op);
  51 
  52 G_GNUC_INTERNAL
  53 GList *resources_os_list_ocf_providers(void);
  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
  62 gboolean cancel_recurring_action(svc_action_t * op);
  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
  74 void services_add_inflight_op(svc_action_t *op);
  75 
  76 G_GNUC_INTERNAL
  77 void services_untrack_op(svc_action_t *op);
  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 */

/* [previous][next][first][last][top][bottom][index][help] */