root/lib/services/services_private.h

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

INCLUDED FROM


   1 /*
   2  * Copyright (C) 2010 - 2011, Red Hat, Inc.
   3  *
   4  * This program is free software; you can redistribute it and/or
   5  * modify it under the terms of the GNU Lesser General Public
   6  * License as published by the Free Software Foundation; either
   7  * version 2.1 of the License, or (at your option) any later version.
   8  *
   9  * This software is distributed in the hope that it will be useful,
  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12  * General Public License for more details.
  13  *
  14  * You should have received a copy of the GNU Lesser General Public
  15  * License along with this library; if not, write to the Free Software
  16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  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  /* SERVICES_PRIVATE__H */

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