pacemaker 2.1.1-77db578727
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
pcmk_output_utils.c
Go to the documentation of this file.
1/*
2 * Copyright 2019-2021 the Pacemaker project contributors
3 *
4 * The version control history for this file may have further details.
5 *
6 * This source code is licensed under the GNU Lesser General Public License
7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8 */
9
10#include <crm_internal.h>
11#include <crm/common/results.h>
13#include <libxml/tree.h>
14#include <pacemaker-internal.h>
15
20
21int
22pcmk__out_prologue(pcmk__output_t **out, xmlNodePtr *xml) {
23 int rc = pcmk_rc_ok;
24
25 if (*xml != NULL) {
26 xmlFreeNode(*xml);
27 }
28
30 rc = pcmk__output_new(out, "xml", NULL, NULL);
31 if (rc != pcmk_rc_ok) {
32 return rc;
33 }
34
35 return rc;
36}
37
38void
39pcmk__out_epilogue(pcmk__output_t *out, xmlNodePtr *xml, int retval) {
40 if (retval == pcmk_rc_ok) {
41 out->finish(out, 0, FALSE, (void **) xml);
42 }
43
45}
Formatted output for pacemaker tools.
void pcmk__output_free(pcmk__output_t *out)
Definition output.c:19
#define PCMK__SUPPORTED_FORMAT_XML
int pcmk__output_new(pcmk__output_t **out, const char *fmt_name, const char *filename, char **argv)
Definition output.c:31
void pcmk__register_formats(GOptionGroup *group, pcmk__supported_format_t *table)
Definition output.c:99
int rc
Definition pcmk_fence.c:35
int pcmk__out_prologue(pcmk__output_t **out, xmlNodePtr *xml)
pcmk__supported_format_t pcmk__out_formats[]
void pcmk__out_epilogue(pcmk__output_t *out, xmlNodePtr *xml, int retval)
Function and executable result codes.
@ pcmk_rc_ok
Definition results.h:142
This structure contains everything that makes up a single output formatter.
void(* finish)(pcmk__output_t *out, crm_exit_t exit_status, bool print, void **copy_dest)