pacemaker  2.1.0-7c3f660
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
output_internal.h File Reference

Formatted output for pacemaker tools. More...

#include <stdbool.h>
#include <stdio.h>
#include <libxml/tree.h>
#include <libxml/HTMLtree.h>
#include <glib.h>
#include <crm/common/results.h>
Include dependency graph for output_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pcmk__message_entry_s
 
struct  pcmk__supported_format_s
 
struct  pcmk__output_s
 This structure contains everything that makes up a single output formatter. More...
 

Macros

#define PCMK__API_VERSION   "2.9"
 
#define PCMK__OUTPUT_ARGS(ARGS...)
 
#define PCMK__SUPPORTED_FORMAT_HTML   { "html", pcmk__mk_html_output, pcmk__html_output_entries }
 
#define PCMK__SUPPORTED_FORMAT_LOG   { "log", pcmk__mk_log_output, pcmk__log_output_entries }
 
#define PCMK__SUPPORTED_FORMAT_NONE   { "none", pcmk__mk_none_output, pcmk__none_output_entries }
 
#define PCMK__SUPPORTED_FORMAT_TEXT   { "text", pcmk__mk_text_output, pcmk__text_output_entries }
 
#define PCMK__SUPPORTED_FORMAT_XML   { "xml", pcmk__mk_xml_output, pcmk__xml_output_entries }
 
#define PCMK__OUTPUT_SPACER_IF(out_obj, cond)
 
#define PCMK__OUTPUT_LIST_HEADER(out_obj, cond, retcode, title...)
 
#define PCMK__OUTPUT_LIST_FOOTER(out_obj, retcode)
 

Typedefs

typedef struct pcmk__output_s pcmk__output_t
 
typedef pcmk__output_t *(* pcmk__output_factory_t )(char **argv)
 
typedef int(* pcmk__message_fn_t )(pcmk__output_t *out, va_list args)
 
typedef struct
pcmk__message_entry_s 
pcmk__message_entry_t
 
typedef struct
pcmk__supported_format_s 
pcmk__supported_format_t
 

Functions

pcmk__output_tpcmk__mk_html_output (char **argv)
 
pcmk__output_tpcmk__mk_log_output (char **argv)
 
pcmk__output_tpcmk__mk_none_output (char **argv)
 
pcmk__output_tpcmk__mk_text_output (char **argv)
 
pcmk__output_tpcmk__mk_xml_output (char **argv)
 
int pcmk__call_message (pcmk__output_t *out, const char *message_id,...)
 
void pcmk__output_free (pcmk__output_t *out)
 
int pcmk__output_new (pcmk__output_t **out, const char *fmt_name, const char *filename, char **argv)
 
int pcmk__register_format (GOptionGroup *group, const char *name, pcmk__output_factory_t create, GOptionEntry *options)
 
void pcmk__register_formats (GOptionGroup *group, pcmk__supported_format_t *table)
 
void pcmk__unregister_formats (void)
 
void pcmk__register_message (pcmk__output_t *out, const char *message_id, pcmk__message_fn_t fn)
 
void pcmk__register_messages (pcmk__output_t *out, pcmk__message_entry_t *table)
 
void pcmk__indented_printf (pcmk__output_t *out, const char *format,...) G_GNUC_PRINTF(2
 
void void pcmk__indented_vprintf (pcmk__output_t *out, const char *format, va_list args) G_GNUC_PRINTF(2
 
void void void pcmk__formatted_printf (pcmk__output_t *out, const char *format,...) G_GNUC_PRINTF(2
 
void void void void pcmk__formatted_vprintf (pcmk__output_t *out, const char *format, va_list args) G_GNUC_PRINTF(2
 
void void void void void pcmk__text_prompt (const char *prompt, bool echo, char **dest)
 
void pcmk__output_set_log_level (pcmk__output_t *out, int log_level)
 
void pcmk__output_xml_add_node (pcmk__output_t *out, xmlNodePtr node)
 
xmlNodePtr pcmk__output_create_xml_text_node (pcmk__output_t *out, const char *name, const char *content)
 
void pcmk__output_xml_push_parent (pcmk__output_t *out, xmlNodePtr node)
 
void pcmk__output_xml_pop_parent (pcmk__output_t *out)
 
xmlNodePtr pcmk__output_xml_peek_parent (pcmk__output_t *out)
 
xmlNodePtr pcmk__output_create_html_node (pcmk__output_t *out, const char *element_name, const char *id, const char *class_name, const char *text)
 
void pcmk__output_and_clear_error (GError *error, pcmk__output_t *out)
 

Variables

GOptionEntry pcmk__html_output_entries []
 
GOptionEntry pcmk__log_output_entries []
 
GOptionEntry pcmk__none_output_entries []
 
GOptionEntry pcmk__text_output_entries []
 
GOptionEntry pcmk__xml_output_entries []
 
xmlNodePtr G_GNUC_NULL_TERMINATED
 

Detailed Description

Formatted output for pacemaker tools.

Definition in file output_internal.h.

Macro Definition Documentation

#define PCMK__API_VERSION   "2.9"

Definition at line 30 of file output_internal.h.

#define PCMK__OUTPUT_ARGS (   ARGS...)

Definition at line 35 of file output_internal.h.

#define PCMK__OUTPUT_LIST_FOOTER (   out_obj,
  retcode 
)
Value:
if (retcode == pcmk_rc_ok) { \
out_obj->end_list(out_obj); \
}

Definition at line 871 of file output_internal.h.

#define PCMK__OUTPUT_LIST_HEADER (   out_obj,
  cond,
  retcode,
  title... 
)
Value:
if (retcode == pcmk_rc_no_output) { \
PCMK__OUTPUT_SPACER_IF(out_obj, cond); \
retcode = pcmk_rc_ok; \
out_obj->begin_list(out_obj, NULL, NULL, title); \
}
#define PCMK__OUTPUT_SPACER_IF(out_obj, cond)

Definition at line 864 of file output_internal.h.

#define PCMK__OUTPUT_SPACER_IF (   out_obj,
  cond 
)
Value:
if (cond) { \
out->spacer(out); \
}

Definition at line 859 of file output_internal.h.

#define PCMK__SUPPORTED_FORMAT_HTML   { "html", pcmk__mk_html_output, pcmk__html_output_entries }

Definition at line 155 of file output_internal.h.

#define PCMK__SUPPORTED_FORMAT_LOG   { "log", pcmk__mk_log_output, pcmk__log_output_entries }

Definition at line 156 of file output_internal.h.

#define PCMK__SUPPORTED_FORMAT_NONE   { "none", pcmk__mk_none_output, pcmk__none_output_entries }

Definition at line 157 of file output_internal.h.

#define PCMK__SUPPORTED_FORMAT_TEXT   { "text", pcmk__mk_text_output, pcmk__text_output_entries }

Definition at line 158 of file output_internal.h.

#define PCMK__SUPPORTED_FORMAT_XML   { "xml", pcmk__mk_xml_output, pcmk__xml_output_entries }

Definition at line 159 of file output_internal.h.

Typedef Documentation

typedef int(* pcmk__message_fn_t)(pcmk__output_t *out, va_list args)

Definition at line 66 of file output_internal.h.

typedef pcmk__output_t*(* pcmk__output_factory_t)(char **argv)

Definition at line 50 of file output_internal.h.

Definition at line 38 of file output_internal.h.

Function Documentation

int pcmk__call_message ( pcmk__output_t out,
const char *  message_id,
  ... 
)

Definition at line 117 of file output.c.

void void void pcmk__formatted_printf ( pcmk__output_t out,
const char *  format,
  ... 
)
void void void void pcmk__formatted_vprintf ( pcmk__output_t out,
const char *  format,
va_list  args 
)
void pcmk__indented_printf ( pcmk__output_t out,
const char *  format,
  ... 
)
void void pcmk__indented_vprintf ( pcmk__output_t out,
const char *  format,
va_list  args 
)
pcmk__output_t* pcmk__mk_html_output ( char **  argv)

Definition at line 379 of file output_html.c.

pcmk__output_t* pcmk__mk_log_output ( char **  argv)

Definition at line 266 of file output_log.c.

pcmk__output_t* pcmk__mk_none_output ( char **  argv)

Definition at line 115 of file output_none.c.

pcmk__output_t* pcmk__mk_text_output ( char **  argv)

Definition at line 287 of file output_text.c.

pcmk__output_t* pcmk__mk_xml_output ( char **  argv)

Definition at line 394 of file output_xml.c.

void pcmk__output_and_clear_error ( GError *  error,
pcmk__output_t out 
)

Definition at line 154 of file output.c.

xmlNodePtr pcmk__output_create_html_node ( pcmk__output_t out,
const char *  element_name,
const char *  id,
const char *  class_name,
const char *  text 
)

Definition at line 417 of file output_html.c.

xmlNodePtr pcmk__output_create_xml_text_node ( pcmk__output_t out,
const char *  name,
const char *  content 
)

Definition at line 484 of file output_xml.c.

void pcmk__output_free ( pcmk__output_t out)

Definition at line 19 of file output.c.

int pcmk__output_new ( pcmk__output_t **  out,
const char *  fmt_name,
const char *  filename,
char **  argv 
)

Definition at line 31 of file output.c.

void pcmk__output_set_log_level ( pcmk__output_t out,
int  log_level 
)

Definition at line 303 of file output_log.c.

void pcmk__output_xml_add_node ( pcmk__output_t out,
xmlNodePtr  node 
)

Definition at line 449 of file output_xml.c.

xmlNodePtr pcmk__output_xml_peek_parent ( pcmk__output_t out)

Definition at line 527 of file output_xml.c.

void pcmk__output_xml_pop_parent ( pcmk__output_t out)

Definition at line 511 of file output_xml.c.

void pcmk__output_xml_push_parent ( pcmk__output_t out,
xmlNodePtr  node 
)

Definition at line 495 of file output_xml.c.

int pcmk__register_format ( GOptionGroup *  group,
const char *  name,
pcmk__output_factory_t  create,
GOptionEntry *  options 
)

Definition at line 78 of file output.c.

void pcmk__register_formats ( GOptionGroup *  group,
pcmk__supported_format_t table 
)

Definition at line 97 of file output.c.

void pcmk__register_message ( pcmk__output_t out,
const char *  message_id,
pcmk__message_fn_t  fn 
)

Definition at line 137 of file output.c.

void pcmk__register_messages ( pcmk__output_t out,
pcmk__message_entry_t table 
)

Definition at line 143 of file output.c.

void void void void void pcmk__text_prompt ( const char *  prompt,
bool  echo,
char **  dest 
)

Definition at line 389 of file output_text.c.

void pcmk__unregister_formats ( void  )

Definition at line 110 of file output.c.

Variable Documentation

void G_GNUC_NULL_TERMINATED

Definition at line 723 of file output_internal.h.

GOptionEntry pcmk__html_output_entries[]

Definition at line 38 of file output_html.c.

GOptionEntry pcmk__log_output_entries[]

Definition at line 17 of file output_log.c.

GOptionEntry pcmk__none_output_entries[]

Definition at line 17 of file output_none.c.

GOptionEntry pcmk__text_output_entries[]

Definition at line 19 of file output_text.c.

GOptionEntry pcmk__xml_output_entries[]

Definition at line 24 of file output_xml.c.