pacemaker  2.1.3-ea053b43a
Scalable High-Availability cluster resource manager
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.20"
 
#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
 
#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)
 
xmlNodePtr pcmk__output_xml_create_parent (pcmk__output_t *out, const char *name,...) G_GNUC_NULL_TERMINATED
 
void pcmk__output_xml_add_node (pcmk__output_t *out, xmlNodePtr node)
 
xmlNodePtr pcmk__output_create_xml_node (pcmk__output_t *out, const char *name,...) G_GNUC_NULL_TERMINATED
 
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__html_add_header (const char *name,...) G_GNUC_NULL_TERMINATED
 
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 []
 

Detailed Description

Formatted output for pacemaker tools.

Definition in file output_internal.h.

Macro Definition Documentation

◆ PCMK__API_VERSION

#define PCMK__API_VERSION   "2.20"

Definition at line 31 of file output_internal.h.

◆ PCMK__OUTPUT_ARGS

#define PCMK__OUTPUT_ARGS (   ARGS...)

Definition at line 36 of file output_internal.h.

◆ PCMK__OUTPUT_LIST_FOOTER

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

Definition at line 873 of file output_internal.h.

◆ PCMK__OUTPUT_LIST_HEADER

#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); \
}

Definition at line 866 of file output_internal.h.

◆ PCMK__OUTPUT_SPACER_IF

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

Definition at line 861 of file output_internal.h.

◆ PCMK__SUPPORTED_FORMAT_HTML

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

Definition at line 156 of file output_internal.h.

◆ PCMK__SUPPORTED_FORMAT_LOG

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

Definition at line 157 of file output_internal.h.

◆ PCMK__SUPPORTED_FORMAT_NONE

#define PCMK__SUPPORTED_FORMAT_NONE
Value:
pcmk__none_output_entries }
#define PCMK__VALUE_NONE
pcmk__output_t * pcmk__mk_none_output(char **argv)
Definition: output_none.c:115

Definition at line 158 of file output_internal.h.

◆ PCMK__SUPPORTED_FORMAT_TEXT

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

Definition at line 160 of file output_internal.h.

◆ PCMK__SUPPORTED_FORMAT_XML

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

Definition at line 161 of file output_internal.h.

Typedef Documentation

◆ pcmk__message_entry_t

◆ pcmk__message_fn_t

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

Definition at line 67 of file output_internal.h.

◆ pcmk__output_factory_t

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

Definition at line 51 of file output_internal.h.

◆ pcmk__output_t

Definition at line 39 of file output_internal.h.

◆ pcmk__supported_format_t

Function Documentation

◆ pcmk__call_message()

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

Definition at line 119 of file output.c.

◆ pcmk__formatted_printf()

void void void pcmk__formatted_printf ( pcmk__output_t out,
const char *  format,
  ... 
)

◆ pcmk__formatted_vprintf()

void void void void pcmk__formatted_vprintf ( pcmk__output_t out,
const char *  format,
va_list  args 
)

◆ pcmk__html_add_header()

void pcmk__html_add_header ( const char *  name,
  ... 
)

Definition at line 444 of file output_html.c.

◆ pcmk__indented_printf()

void pcmk__indented_printf ( pcmk__output_t out,
const char *  format,
  ... 
)

◆ pcmk__indented_vprintf()

void void pcmk__indented_vprintf ( pcmk__output_t out,
const char *  format,
va_list  args 
)

◆ pcmk__mk_html_output()

pcmk__output_t* pcmk__mk_html_output ( char **  argv)

Definition at line 386 of file output_html.c.

◆ pcmk__mk_log_output()

pcmk__output_t* pcmk__mk_log_output ( char **  argv)

Definition at line 267 of file output_log.c.

◆ pcmk__mk_none_output()

pcmk__output_t* pcmk__mk_none_output ( char **  argv)

Definition at line 115 of file output_none.c.

◆ pcmk__mk_text_output()

pcmk__output_t* pcmk__mk_text_output ( char **  argv)

Definition at line 288 of file output_text.c.

◆ pcmk__mk_xml_output()

pcmk__output_t* pcmk__mk_xml_output ( char **  argv)

Definition at line 395 of file output_xml.c.

◆ pcmk__output_and_clear_error()

void pcmk__output_and_clear_error ( GError *  error,
pcmk__output_t out 
)

Definition at line 156 of file output.c.

◆ pcmk__output_create_html_node()

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 424 of file output_html.c.

◆ pcmk__output_create_xml_node()

xmlNodePtr pcmk__output_create_xml_node ( pcmk__output_t out,
const char *  name,
  ... 
)

Definition at line 466 of file output_xml.c.

◆ pcmk__output_create_xml_text_node()

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

Definition at line 485 of file output_xml.c.

◆ pcmk__output_free()

void pcmk__output_free ( pcmk__output_t out)

Definition at line 19 of file output.c.

◆ pcmk__output_new()

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.

◆ pcmk__output_set_log_level()

void pcmk__output_set_log_level ( pcmk__output_t out,
int  log_level 
)

Definition at line 304 of file output_log.c.

◆ pcmk__output_xml_add_node()

void pcmk__output_xml_add_node ( pcmk__output_t out,
xmlNodePtr  node 
)

Definition at line 450 of file output_xml.c.

◆ pcmk__output_xml_create_parent()

xmlNodePtr pcmk__output_xml_create_parent ( pcmk__output_t out,
const char *  name,
  ... 
)

Definition at line 433 of file output_xml.c.

◆ pcmk__output_xml_peek_parent()

xmlNodePtr pcmk__output_xml_peek_parent ( pcmk__output_t out)

Definition at line 528 of file output_xml.c.

◆ pcmk__output_xml_pop_parent()

void pcmk__output_xml_pop_parent ( pcmk__output_t out)

Definition at line 512 of file output_xml.c.

◆ pcmk__output_xml_push_parent()

void pcmk__output_xml_push_parent ( pcmk__output_t out,
xmlNodePtr  node 
)

Definition at line 496 of file output_xml.c.

◆ pcmk__register_format()

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

Definition at line 80 of file output.c.

◆ pcmk__register_formats()

void pcmk__register_formats ( GOptionGroup *  group,
pcmk__supported_format_t table 
)

Definition at line 99 of file output.c.

◆ pcmk__register_message()

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

Definition at line 139 of file output.c.

◆ pcmk__register_messages()

void pcmk__register_messages ( pcmk__output_t out,
pcmk__message_entry_t table 
)

Definition at line 145 of file output.c.

◆ pcmk__text_prompt()

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

Definition at line 390 of file output_text.c.

◆ pcmk__unregister_formats()

void pcmk__unregister_formats ( void  )

Definition at line 112 of file output.c.

Variable Documentation

◆ pcmk__html_output_entries

GOptionEntry pcmk__html_output_entries[]

Definition at line 43 of file output_html.c.

◆ pcmk__log_output_entries

GOptionEntry pcmk__log_output_entries[]

Definition at line 17 of file output_log.c.

◆ pcmk__none_output_entries

GOptionEntry pcmk__none_output_entries[]

Definition at line 17 of file output_none.c.

◆ pcmk__text_output_entries

GOptionEntry pcmk__text_output_entries[]

Definition at line 19 of file output_text.c.

◆ pcmk__xml_output_entries

GOptionEntry pcmk__xml_output_entries[]

Definition at line 24 of file output_xml.c.