pacemaker  2.1.3-ea053b43a
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_internal.h>

Data Fields

const char * fmt_name
 The name of this output formatter. More...
 
bool quiet
 Should this formatter supress most output? More...
 
gchar * request
 A copy of the request that generated this output. 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)
 
int(* info )(pcmk__output_t *out, const char *format,...) G_GNUC_PRINTF(2
 
int(*) void(* err )(pcmk__output_t *out, const char *format,...) G_GNUC_PRINTF(2
 
int(*) 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)
 
bool(* is_quiet )(pcmk__output_t *out)
 
void(* spacer )(pcmk__output_t *out)
 
void(* progress )(pcmk__output_t *out, bool end)
 
void(* prompt )(const char *prompt, bool echo, char **dest)
 

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 171 of file output_internal.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 416 of file output_internal.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 201 of file output_internal.h.

◆ end_list

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

Definition at line 456 of file output_internal.h.

◆ err

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

Definition at line 385 of file output_internal.h.

◆ finish

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

Definition at line 281 of file output_internal.h.

◆ fmt_name

const char* pcmk__output_s::fmt_name

The name of this output formatter.

Definition at line 175 of file output_internal.h.

◆ free_priv

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

Definition at line 245 of file output_internal.h.

◆ increment_list

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

Definition at line 444 of file output_internal.h.

◆ info

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

Definition at line 371 of file output_internal.h.

◆ init

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

Definition at line 234 of file output_internal.h.

◆ is_quiet

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

Definition at line 469 of file output_internal.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 429 of file output_internal.h.

◆ message

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

Definition at line 330 of file output_internal.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 209 of file output_internal.h.

◆ output_xml

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

Definition at line 395 of file output_internal.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 218 of file output_internal.h.

◆ progress

void(* pcmk__output_s::progress) (pcmk__output_t *out, bool end)

Definition at line 489 of file output_internal.h.

◆ prompt

void(* pcmk__output_s::prompt) (const char *prompt, bool echo, char **dest)

Definition at line 507 of file output_internal.h.

◆ quiet

bool pcmk__output_s::quiet

Should this formatter supress most output?

Note
This setting is not respected by all formatters. In general, machine-readable output formats will not support this while user-oriented formats will. Callers should use is_quiet() to test whether to print or not.

Definition at line 185 of file output_internal.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 312 of file output_internal.h.

◆ request

gchar* 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 193 of file output_internal.h.

◆ reset

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

Definition at line 299 of file output_internal.h.

◆ spacer

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

Definition at line 477 of file output_internal.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 341 of file output_internal.h.

◆ version

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

Definition at line 352 of file output_internal.h.


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