root/daemons/controld/controld_transition.h

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

INCLUDED FROM


   1 /*
   2  * Copyright 2004-2020 the Pacemaker project contributors
   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 TENGINE__H
   9 #  define TENGINE__H
  10 
  11 #  include <crm/common/mainloop.h>
  12 #  include <crm/stonith-ng.h>
  13 #  include <crm/services.h>
  14 #  include <pacemaker-internal.h>
  15 
  16 /* tengine */
  17 extern crm_action_t *match_down_event(const char *target);
  18 extern crm_action_t *get_cancel_action(const char *id, const char *node);
  19 bool confirm_cancel_action(const char *id, const char *node_id);
  20 
  21 void controld_record_action_timeout(crm_action_t *action);
  22 extern gboolean fail_incompletable_actions(crm_graph_t * graph, const char *down_node);
  23 void process_graph_event(xmlNode *event, const char *event_node);
  24 
  25 /* utils */
  26 crm_action_t *controld_get_action(int id);
  27 extern gboolean stop_te_timer(crm_action_timer_t * timer);
  28 extern const char *get_rsc_state(const char *task, enum op_status status);
  29 
  30 /* unpack */
  31 extern gboolean process_te_message(xmlNode * msg, xmlNode * xml_data);
  32 
  33 extern crm_graph_t *transition_graph;
  34 extern crm_trigger_t *transition_trigger;
  35 
  36 extern char *te_uuid;
  37 
  38 extern void notify_crmd(crm_graph_t * graph);
  39 
  40 void cib_action_updated(xmlNode *msg, int call_id, int rc, xmlNode *output,
  41                         void *user_data);
  42 gboolean action_timer_callback(gpointer data);
  43 gboolean te_graph_trigger(gpointer user_data);
  44 void te_update_diff(const char *event, xmlNode *msg);
  45 
  46 extern void trigger_graph_processing(const char *fn, int line);
  47 void abort_after_delay(int abort_priority, enum transition_action abort_action,
  48                        const char *abort_text, guint delay_ms);
  49 extern void abort_transition_graph(int abort_priority, enum transition_action abort_action,
  50                                    const char *abort_text, xmlNode * reason, const char *fn,
  51                                    int line);
  52 
  53 #  define trigger_graph()       trigger_graph_processing(__func__, __LINE__)
  54 #  define abort_transition(pri, action, text, reason)                   \
  55         abort_transition_graph(pri, action, text, reason,__func__,__LINE__);
  56 
  57 extern crm_trigger_t *transition_trigger;
  58 
  59 extern char *failed_stop_offset;
  60 extern char *failed_start_offset;
  61 
  62 void te_action_confirmed(crm_action_t *action, crm_graph_t *graph);
  63 void te_reset_job_counts(void);
  64 
  65 #endif

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