23 for (iter = list; iter != NULL; iter = iter->
next) {
36 for (iter = list; iter != NULL; iter = iter->
next) {
48 const char *agent_spec = va_arg(args,
const char *);
64 const char *agent_spec G_GNUC_UNUSED = va_arg(args,
const char *);
66 return default_list(out, list,
"Providers");
73 const char *agent_spec = va_arg(args,
const char *);
74 const char *provider = va_arg(args,
const char *);
77 xmlNodePtr node = NULL;
83 if (!pcmk__str_empty(provider)) {
96 const char *agent_spec = va_arg(args,
const char *);
97 const char *provider = va_arg(args,
const char *);
100 char *title =
crm_strdup_printf(
"%s agents", pcmk__str_empty(provider) ? agent_spec : provider);
102 rc = default_list(out, list, title);
111 const char *agent_spec = va_arg(args,
const char *);
118 if (agent_spec != NULL) {
131 const char *agent_spec G_GNUC_UNUSED = va_arg(args,
const char *);
133 return default_list(out, list,
"Providers");
141 return default_list(out, list,
"Standards");
145 {
"alternatives-list",
"default", lrmd__alternatives_list },
146 {
"alternatives-list",
"xml", lrmd__alternatives_list_xml },
147 {
"agents-list",
"default", lrmd__agents_list },
148 {
"agents-list",
"xml", lrmd__agents_list_xml },
149 {
"providers-list",
"default", lrmd__providers_list },
150 {
"providers-list",
"xml", lrmd__providers_list_xml },
151 {
"standards-list",
"default", lrmd__standards_list },
void(* end_list)(pcmk__output_t *out)
void pcmk__register_messages(pcmk__output_t *out, const pcmk__message_entry_t *table)
void lrmd__register_messages(pcmk__output_t *out)
void lrmd_list_freeall(lrmd_list_t *head)
xmlNodePtr pcmk__output_xml_create_parent(pcmk__output_t *out, const char *name,...) G_GNUC_NULL_TERMINATED
const char * crm_xml_add(xmlNode *node, const char *name, const char *value)
Create an XML attribute with specified name and value.
#define PCMK_XE_PROVIDERS
Formatted output for pacemaker tools.
struct lrmd_list_s * next
#define PCMK__OUTPUT_ARGS(ARGS...)
char * crm_strdup_printf(char const *format,...) G_GNUC_PRINTF(1
Wrappers for and extensions to libxml2.
void pcmk__output_xml_pop_parent(pcmk__output_t *out)
void(*) void(* list_item)(pcmk__output_t *out, const char *name, const char *format,...) G_GNUC_PRINTF(3
This structure contains everything that makes up a single output formatter.
void(* begin_list)(pcmk__output_t *out, const char *singular_noun, const char *plural_noun, const char *format,...) G_GNUC_PRINTF(4
xmlNodePtr pcmk__output_create_xml_text_node(pcmk__output_t *out, const char *name, const char *content)