pacemaker  2.0.3-4b1f869f0f
Scalable High-Availability cluster resource manager
Data Fields
pcmk__output_s Struct Reference

This structure contains everything that makes up a single output formatter. More...

#include <include/crm/common/output.h>

Data Fields

const char * fmt_name
 The name of this output formatter. More...
 
char * request
 A copy of the request that generated this output. More...
 
bool supports_quiet
 Does this formatter support a special quiet mode? More...
 
FILE * dest
 Where output should be written. More...
 
GHashTable * messages
 Custom messages that are currently registered on this formatter. More...
 
void * priv
 Implementation-specific private data. More...
 
bool(* init )(pcmk__output_t *out)
 
void(* free_priv )(pcmk__output_t *out)
 
void(* finish )(pcmk__output_t *out, crm_exit_t exit_status, bool print, void **copy_dest)
 
void(* reset )(pcmk__output_t *out)
 
void(* register_message )(pcmk__output_t *out, const char *message_id, pcmk__message_fn_t fn)
 
int(* message )(pcmk__output_t *out, const char *message_id,...)
 
void(* subprocess_output )(pcmk__output_t *out, int exit_status, const char *proc_stdout, const char *proc_stderr)
 
void(* version )(pcmk__output_t *out, bool extended)
 
void(* info )(pcmk__output_t *out, const char *format,...) G_GNUC_PRINTF(2
 
void(*) void(* err )(pcmk__output_t *out, const char *format,...) G_GNUC_PRINTF(2
 
void(*) void(*) void(* output_xml )(pcmk__output_t *out, const char *name, const char *buf)
 
void(* begin_list )(pcmk__output_t *out, const char *singular_noun, const char *plural_noun, const char *format,...) G_GNUC_PRINTF(4
 
void(*) void(* list_item )(pcmk__output_t *out, const char *name, const char *format,...) G_GNUC_PRINTF(3
 
void(*) void(*) void(* increment_list )(pcmk__output_t *out)
 
void(* end_list )(pcmk__output_t *out)
 

Detailed Description

This structure contains everything that makes up a single output formatter.

Instances of this structure may be created by calling pcmk__output_new() with the name of the desired formatter. They should later be freed with pcmk__output_free().

Definition at line 150 of file output.h.

Field Documentation

◆ begin_list

void(* pcmk__output_s::begin_list) (pcmk__output_t *out, const char *singular_noun, const char *plural_noun, const char *format,...) G_GNUC_PRINTF(4

Definition at line 389 of file output.h.

◆ dest

FILE* pcmk__output_s::dest

Where output should be written.

This could be a file handle, or stdout or stderr. This is really only useful internally.

Definition at line 179 of file output.h.

◆ end_list

void(* pcmk__output_s::end_list) (pcmk__output_t *out)

Definition at line 429 of file output.h.

◆ err

void(*) void(* pcmk__output_s::err) (pcmk__output_t *out, const char *format,...) G_GNUC_PRINTF(2

Definition at line 358 of file output.h.

◆ finish

void(* pcmk__output_s::finish) (pcmk__output_t *out, crm_exit_t exit_status, bool print, void **copy_dest)

Definition at line 259 of file output.h.

◆ fmt_name

const char* pcmk__output_s::fmt_name

The name of this output formatter.

Definition at line 154 of file output.h.

◆ free_priv

void(* pcmk__output_s::free_priv) (pcmk__output_t *out)

Definition at line 223 of file output.h.

◆ increment_list

void(*) void(*) void(* pcmk__output_s::increment_list) (pcmk__output_t *out)

Definition at line 417 of file output.h.

◆ info

void(* pcmk__output_s::info) (pcmk__output_t *out, const char *format,...) G_GNUC_PRINTF(2

Definition at line 344 of file output.h.

◆ init

bool(* pcmk__output_s::init) (pcmk__output_t *out)

Definition at line 212 of file output.h.

◆ list_item

void(*) void(* pcmk__output_s::list_item) (pcmk__output_t *out, const char *name, const char *format,...) G_GNUC_PRINTF(3

Definition at line 402 of file output.h.

◆ message

int(* pcmk__output_s::message) (pcmk__output_t *out, const char *message_id,...)

Definition at line 308 of file output.h.

◆ messages

GHashTable* pcmk__output_s::messages

Custom messages that are currently registered on this formatter.

Keys are the string message IDs, values are pcmk__message_fn_t function pointers.

Definition at line 187 of file output.h.

◆ output_xml

void(*) void(*) void(* pcmk__output_s::output_xml) (pcmk__output_t *out, const char *name, const char *buf)

Definition at line 368 of file output.h.

◆ priv

void* pcmk__output_s::priv

Implementation-specific private data.

Each individual formatter may have some private data useful in its implementation. This points to that data. Callers should not rely on its contents or structure.

Definition at line 196 of file output.h.

◆ register_message

void(* pcmk__output_s::register_message) (pcmk__output_t *out, const char *message_id, pcmk__message_fn_t fn)

Definition at line 290 of file output.h.

◆ request

char* pcmk__output_s::request

A copy of the request that generated this output.

In the case of command line usage, this would be the command line arguments. For other use cases, it could be different.

Definition at line 162 of file output.h.

◆ reset

void(* pcmk__output_s::reset) (pcmk__output_t *out)

Definition at line 277 of file output.h.

◆ subprocess_output

void(* pcmk__output_s::subprocess_output) (pcmk__output_t *out, int exit_status, const char *proc_stdout, const char *proc_stderr)

Definition at line 319 of file output.h.

◆ supports_quiet

bool pcmk__output_s::supports_quiet

Does this formatter support a special quiet mode?

In this mode, most output can be supressed but some information is still displayed to an interactive user. In general, machine-readable output formats will not support this while user-oriented formats will.

Definition at line 171 of file output.h.

◆ version

void(* pcmk__output_s::version) (pcmk__output_t *out, bool extended)

Definition at line 330 of file output.h.


The documentation for this struct was generated from the following file: