api 394 daemons/controld/controld_execd_state.c lrmd_t *api = NULL; api 396 daemons/controld/controld_execd_state.c rc = lrmd__new(&api, NULL, NULL, 0); api 400 daemons/controld/controld_execd_state.c api->cmds->set_callback(api, lrm_op_callback); api 401 daemons/controld/controld_execd_state.c lrm_state->conn = api; api 615 daemons/controld/controld_execd_state.c lrmd_t *api = NULL; api 617 daemons/controld/controld_execd_state.c rc = lrmd__new(&api, lrm_state->node_name, server, port); api 624 daemons/controld/controld_execd_state.c lrm_state->conn = api; api 625 daemons/controld/controld_execd_state.c api->cmds->set_callback(api, remote_lrm_op_callback); api 626 daemons/controld/controld_execd_state.c lrmd_internal_set_proxy_callback(api, lrm_state, crmd_remote_proxy_cb); api 164 daemons/controld/controld_schedulerd.c scheduler_event_callback(pcmk_ipc_api_t *api, enum pcmk_ipc_event event_type, api 98 include/crm/common/ipc.h typedef void (*pcmk_ipc_callback_t)(pcmk_ipc_api_t *api, api 104 include/crm/common/ipc.h int pcmk_new_ipc_api(pcmk_ipc_api_t **api, enum pcmk_ipc_server server); api 107 include/crm/common/ipc.h void pcmk_free_ipc_api(pcmk_ipc_api_t *api); api 110 include/crm/common/ipc.h int pcmk_connect_ipc(pcmk_ipc_api_t *api, enum pcmk_ipc_dispatch dispatch_type); api 112 include/crm/common/ipc.h void pcmk_disconnect_ipc(pcmk_ipc_api_t *api); api 114 include/crm/common/ipc.h int pcmk_poll_ipc(const pcmk_ipc_api_t *api, int timeout_ms); api 116 include/crm/common/ipc.h void pcmk_dispatch_ipc(pcmk_ipc_api_t *api); api 119 include/crm/common/ipc.h void pcmk_register_ipc_callback(pcmk_ipc_api_t *api, pcmk_ipc_callback_t cb, api 122 include/crm/common/ipc.h const char *pcmk_ipc_name(const pcmk_ipc_api_t *api, bool for_log); api 124 include/crm/common/ipc.h bool pcmk_ipc_is_connected(pcmk_ipc_api_t *api); api 126 include/crm/common/ipc.h int pcmk_ipc_purge_node(pcmk_ipc_api_t *api, const char *node_name, api 69 include/crm/common/ipc_attrd_internal.h int pcmk__attrd_api_clear_failures(pcmk_ipc_api_t *api, const char *node, api 87 include/crm/common/ipc_attrd_internal.h int pcmk__attrd_api_delete(pcmk_ipc_api_t *api, const char *node, const char *name, api 106 include/crm/common/ipc_attrd_internal.h int pcmk__attrd_api_purge(pcmk_ipc_api_t *api, const char *node, bool reap); api 123 include/crm/common/ipc_attrd_internal.h int pcmk__attrd_api_query(pcmk_ipc_api_t *api, const char *node, const char *name, api 141 include/crm/common/ipc_attrd_internal.h int pcmk__attrd_api_refresh(pcmk_ipc_api_t *api, const char *node); api 164 include/crm/common/ipc_attrd_internal.h int pcmk__attrd_api_update(pcmk_ipc_api_t *api, const char *node, const char *name, api 191 include/crm/common/ipc_attrd_internal.h int pcmk__attrd_api_update_list(pcmk_ipc_api_t *api, GList *attrs, api 91 include/crm/common/ipc_controld.h int pcmk_controld_api_reprobe(pcmk_ipc_api_t *api, const char *target_node, api 93 include/crm/common/ipc_controld.h int pcmk_controld_api_node_info(pcmk_ipc_api_t *api, uint32_t nodeid); api 94 include/crm/common/ipc_controld.h int pcmk_controld_api_fail(pcmk_ipc_api_t *api, const char *target_node, api 98 include/crm/common/ipc_controld.h int pcmk_controld_api_refresh(pcmk_ipc_api_t *api, const char *target_node, api 103 include/crm/common/ipc_controld.h int pcmk_controld_api_ping(pcmk_ipc_api_t *api, const char *node_name); api 104 include/crm/common/ipc_controld.h int pcmk_controld_api_list_nodes(pcmk_ipc_api_t *api); api 105 include/crm/common/ipc_controld.h unsigned int pcmk_controld_api_replies_expected(const pcmk_ipc_api_t *api); api 94 include/crm/common/ipc_internal.h int pcmk__connect_ipc(pcmk_ipc_api_t *api, enum pcmk_ipc_dispatch dispatch_type, api 96 include/crm/common/ipc_internal.h int pcmk__connect_ipc_retry_conrefused(pcmk_ipc_api_t *api, api 80 include/crm/common/ipc_pacemakerd.h int pcmk_pacemakerd_api_ping(pcmk_ipc_api_t *api, const char *ipc_name); api 82 include/crm/common/ipc_pacemakerd.h int pcmk_pacemakerd_api_shutdown(pcmk_ipc_api_t *api, const char *ipc_name); api 58 include/crm/common/ipc_schedulerd.h int pcmk_schedulerd_api_graph(pcmk_ipc_api_t *api, xmlNode *cib, char **ref); api 27 include/crm/lrmd_internal.h int lrmd__new(lrmd_t **api, const char *nodename, const char *server, int port); api 237 lib/common/crmcommon_private.h int (*new_data)(pcmk_ipc_api_t *api); api 261 lib/common/crmcommon_private.h int (*post_connect)(pcmk_ipc_api_t *api); api 272 lib/common/crmcommon_private.h bool (*reply_expected)(pcmk_ipc_api_t *api, const xmlNode *request); api 283 lib/common/crmcommon_private.h bool (*dispatch)(pcmk_ipc_api_t *api, xmlNode *msg); api 291 lib/common/crmcommon_private.h void (*post_disconnect)(pcmk_ipc_api_t *api); api 316 lib/common/crmcommon_private.h int pcmk__send_ipc_request(pcmk_ipc_api_t *api, const xmlNode *request); api 319 lib/common/crmcommon_private.h void pcmk__call_ipc_callback(pcmk_ipc_api_t *api, api 45 lib/common/ipc_attrd.c reply_expected(pcmk_ipc_api_t *api, const xmlNode *request) api 60 lib/common/ipc_attrd.c dispatch(pcmk_ipc_api_t *api, xmlNode *reply) api 105 lib/common/ipc_attrd.c pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data); api 151 lib/common/ipc_attrd.c connect_and_send_attrd_request(pcmk_ipc_api_t *api, const xmlNode *request) api 159 lib/common/ipc_attrd.c if (api == NULL) { api 160 lib/common/ipc_attrd.c rc = pcmk_new_ipc_api(&api, pcmk_ipc_attrd); api 166 lib/common/ipc_attrd.c dispatch = api->dispatch_type; api 176 lib/common/ipc_attrd.c rc = pcmk__connect_ipc(api, dispatch, remaining_attempts); api 178 lib/common/ipc_attrd.c rc = pcmk__send_ipc_request(api, request); api 184 lib/common/ipc_attrd.c pcmk_free_ipc_api(api); api 190 lib/common/ipc_attrd.c pcmk__attrd_api_clear_failures(pcmk_ipc_api_t *api, const char *node, api 213 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), interval_desc, op_desc, api 224 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 231 lib/common/ipc_attrd.c pcmk__attrd_api_delete(pcmk_ipc_api_t *api, const char *node, const char *name, api 250 lib/common/ipc_attrd.c return pcmk__attrd_api_update(api, node, name, NULL, NULL, NULL, NULL, options); api 254 lib/common/ipc_attrd.c pcmk__attrd_api_purge(pcmk_ipc_api_t *api, const char *node, bool reap) api 265 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), api 275 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 282 lib/common/ipc_attrd.c pcmk__attrd_api_query(pcmk_ipc_api_t *api, const char *node, const char *name, api 306 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), name, api 315 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 321 lib/common/ipc_attrd.c pcmk__attrd_api_refresh(pcmk_ipc_api_t *api, const char *node) api 332 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), pcmk__s(node, "local node")); api 339 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 392 lib/common/ipc_attrd.c pcmk__attrd_api_update(pcmk_ipc_api_t *api, const char *node, const char *name, api 411 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), name, pcmk__s(value, "(null)"), api 417 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 424 lib/common/ipc_attrd.c pcmk__attrd_api_update_list(pcmk_ipc_api_t *api, GList *attrs, const char *dampen, api 485 lib/common/ipc_attrd.c rc = pcmk__attrd_api_update(api, pair->node, pair->name, pair->value, api 494 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 46 lib/common/ipc_client.c pcmk_new_ipc_api(pcmk_ipc_api_t **api, enum pcmk_ipc_server server) api 48 lib/common/ipc_client.c if (api == NULL) { api 52 lib/common/ipc_client.c *api = calloc(1, sizeof(pcmk_ipc_api_t)); api 53 lib/common/ipc_client.c if (*api == NULL) { api 57 lib/common/ipc_client.c (*api)->server = server; api 58 lib/common/ipc_client.c if (pcmk_ipc_name(*api, false) == NULL) { api 59 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 60 lib/common/ipc_client.c *api = NULL; api 67 lib/common/ipc_client.c (*api)->cmds = pcmk__attrd_api_methods(); api 74 lib/common/ipc_client.c (*api)->cmds = pcmk__controld_api_methods(); api 84 lib/common/ipc_client.c (*api)->cmds = pcmk__pacemakerd_api_methods(); api 88 lib/common/ipc_client.c (*api)->cmds = pcmk__schedulerd_api_methods(); api 92 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 93 lib/common/ipc_client.c *api = NULL; api 96 lib/common/ipc_client.c if ((*api)->cmds == NULL) { api 97 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 98 lib/common/ipc_client.c *api = NULL; api 102 lib/common/ipc_client.c (*api)->ipc = crm_ipc_new(pcmk_ipc_name(*api, false), 0); api 103 lib/common/ipc_client.c if ((*api)->ipc == NULL) { api 104 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 105 lib/common/ipc_client.c *api = NULL; api 110 lib/common/ipc_client.c if ((*api)->cmds->new_data != NULL) { api 111 lib/common/ipc_client.c if ((*api)->cmds->new_data(*api) != pcmk_rc_ok) { api 112 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 113 lib/common/ipc_client.c *api = NULL; api 117 lib/common/ipc_client.c crm_trace("Created %s API IPC object", pcmk_ipc_name(*api, true)); api 122 lib/common/ipc_client.c free_daemon_specific_data(pcmk_ipc_api_t *api) api 124 lib/common/ipc_client.c if ((api != NULL) && (api->cmds != NULL)) { api 125 lib/common/ipc_client.c if ((api->cmds->free_data != NULL) && (api->api_data != NULL)) { api 126 lib/common/ipc_client.c api->cmds->free_data(api->api_data); api 127 lib/common/ipc_client.c api->api_data = NULL; api 129 lib/common/ipc_client.c free(api->cmds); api 130 lib/common/ipc_client.c api->cmds = NULL; api 144 lib/common/ipc_client.c pcmk__call_ipc_callback(pcmk_ipc_api_t *api, enum pcmk_ipc_event event_type, api 147 lib/common/ipc_client.c if ((api != NULL) && (api->cb != NULL)) { api 148 lib/common/ipc_client.c api->cb(api, event_type, status, event_data, api->user_data); api 163 lib/common/ipc_client.c pcmk_ipc_api_t *api = user_data; api 165 lib/common/ipc_client.c crm_info("Disconnected from %s", pcmk_ipc_name(api, true)); api 168 lib/common/ipc_client.c if ((api->cmds != NULL) && (api->cmds->post_disconnect != NULL)) { api 169 lib/common/ipc_client.c api->cmds->post_disconnect(api); api 173 lib/common/ipc_client.c pcmk__call_ipc_callback(api, pcmk_ipc_event_disconnect, CRM_EX_DISCONNECT, api 181 lib/common/ipc_client.c api->ipc = NULL; api 182 lib/common/ipc_client.c api->mainloop_io = NULL; api 184 lib/common/ipc_client.c if (api->free_on_disconnect) { api 188 lib/common/ipc_client.c free_daemon_specific_data(api); api 190 lib/common/ipc_client.c free(api); api 200 lib/common/ipc_client.c pcmk_free_ipc_api(pcmk_ipc_api_t *api) api 204 lib/common/ipc_client.c if (api == NULL) { api 207 lib/common/ipc_client.c crm_debug("Releasing %s IPC API", pcmk_ipc_name(api, true)); api 209 lib/common/ipc_client.c if (api->ipc != NULL) { api 210 lib/common/ipc_client.c if (api->mainloop_io != NULL) { api 220 lib/common/ipc_client.c free_on_disconnect = api->free_on_disconnect = true; api 222 lib/common/ipc_client.c pcmk_disconnect_ipc(api); // Frees api if free_on_disconnect is true api 225 lib/common/ipc_client.c free_daemon_specific_data(api); api 227 lib/common/ipc_client.c free(api); api 241 lib/common/ipc_client.c pcmk_ipc_name(const pcmk_ipc_api_t *api, bool for_log) api 243 lib/common/ipc_client.c if (api == NULL) { api 247 lib/common/ipc_client.c const char *name = pcmk__server_log_name(api->server); api 251 lib/common/ipc_client.c switch (api->server) { api 259 lib/common/ipc_client.c return pcmk__server_ipc_name(api->server); api 271 lib/common/ipc_client.c pcmk_ipc_is_connected(pcmk_ipc_api_t *api) api 273 lib/common/ipc_client.c return (api != NULL) && crm_ipc_connected(api->ipc); api 288 lib/common/ipc_client.c call_api_dispatch(pcmk_ipc_api_t *api, xmlNode *message) api 291 lib/common/ipc_client.c if ((api->cmds != NULL) && (api->cmds->dispatch != NULL)) { api 292 lib/common/ipc_client.c return api->cmds->dispatch(api, message); api 314 lib/common/ipc_client.c dispatch_ipc_data(const char *buffer, pcmk_ipc_api_t *api) api 321 lib/common/ipc_client.c pcmk_ipc_name(api, true)); api 328 lib/common/ipc_client.c pcmk_ipc_name(api, true)); api 332 lib/common/ipc_client.c more = call_api_dispatch(api, msg); api 357 lib/common/ipc_client.c pcmk_ipc_api_t *api = user_data; api 359 lib/common/ipc_client.c CRM_CHECK(api != NULL, return 0); api 360 lib/common/ipc_client.c dispatch_ipc_data(buffer, api); api 383 lib/common/ipc_client.c pcmk_poll_ipc(const pcmk_ipc_api_t *api, int timeout_ms) api 388 lib/common/ipc_client.c if ((api == NULL) || (api->dispatch_type != pcmk_ipc_dispatch_poll)) { api 392 lib/common/ipc_client.c rc = pcmk__ipc_fd(api->ipc, &(pollfd.fd)); api 395 lib/common/ipc_client.c pcmk_ipc_name(api, true), pcmk_rc_str(rc)); api 423 lib/common/ipc_client.c pcmk_dispatch_ipc(pcmk_ipc_api_t *api) api 425 lib/common/ipc_client.c if (api == NULL) { api 428 lib/common/ipc_client.c while (crm_ipc_ready(api->ipc) > 0) { api 429 lib/common/ipc_client.c if (crm_ipc_read(api->ipc) > 0) { api 430 lib/common/ipc_client.c dispatch_ipc_data(crm_ipc_buffer(api->ipc), api); api 431 lib/common/ipc_client.c pcmk__ipc_free_client_buffer(api->ipc); api 438 lib/common/ipc_client.c connect_with_main_loop(pcmk_ipc_api_t *api) api 447 lib/common/ipc_client.c rc = pcmk__add_mainloop_ipc(api->ipc, G_PRIORITY_DEFAULT, api, api 448 lib/common/ipc_client.c &callbacks, &(api->mainloop_io)); api 453 lib/common/ipc_client.c pcmk_ipc_name(api, true)); api 462 lib/common/ipc_client.c connect_without_main_loop(pcmk_ipc_api_t *api) api 464 lib/common/ipc_client.c int rc = pcmk__connect_generic_ipc(api->ipc); api 467 lib/common/ipc_client.c crm_ipc_close(api->ipc); api 470 lib/common/ipc_client.c pcmk_ipc_name(api, true)); api 487 lib/common/ipc_client.c pcmk__connect_ipc_retry_conrefused(pcmk_ipc_api_t *api, api 498 lib/common/ipc_client.c rc = pcmk__connect_ipc(api, dispatch_type, remaining); api 517 lib/common/ipc_client.c pcmk__connect_ipc(pcmk_ipc_api_t *api, enum pcmk_ipc_dispatch dispatch_type, api 522 lib/common/ipc_client.c if ((api == NULL) || (attempts < 1)) { api 526 lib/common/ipc_client.c if (api->ipc == NULL) { api 527 lib/common/ipc_client.c api->ipc = crm_ipc_new(pcmk_ipc_name(api, false), 0); api 528 lib/common/ipc_client.c if (api->ipc == NULL) { api 533 lib/common/ipc_client.c if (crm_ipc_connected(api->ipc)) { api 534 lib/common/ipc_client.c crm_trace("Already connected to %s", pcmk_ipc_name(api, true)); api 538 lib/common/ipc_client.c api->dispatch_type = dispatch_type; api 541 lib/common/ipc_client.c pcmk_ipc_name(api, true), attempts, pcmk__plural_s(attempts)); api 545 lib/common/ipc_client.c rc = connect_with_main_loop(api); api 550 lib/common/ipc_client.c rc = connect_without_main_loop(api); api 561 lib/common/ipc_client.c pcmk_ipc_name(api, true), remaining, api 569 lib/common/ipc_client.c if ((api->cmds != NULL) && (api->cmds->post_connect != NULL)) { api 570 lib/common/ipc_client.c rc = api->cmds->post_connect(api); api 572 lib/common/ipc_client.c crm_ipc_close(api->ipc); api 587 lib/common/ipc_client.c pcmk_connect_ipc(pcmk_ipc_api_t *api, enum pcmk_ipc_dispatch dispatch_type) api 589 lib/common/ipc_client.c int rc = pcmk__connect_ipc(api, dispatch_type, 2); api 593 lib/common/ipc_client.c pcmk_ipc_name(api, true), pcmk_rc_str(rc)); api 610 lib/common/ipc_client.c pcmk_disconnect_ipc(pcmk_ipc_api_t *api) api 612 lib/common/ipc_client.c if ((api == NULL) || (api->ipc == NULL)) { api 615 lib/common/ipc_client.c switch (api->dispatch_type) { api 618 lib/common/ipc_client.c mainloop_io_t *mainloop_io = api->mainloop_io; api 621 lib/common/ipc_client.c api->mainloop_io = NULL; api 622 lib/common/ipc_client.c api->ipc = NULL; api 632 lib/common/ipc_client.c crm_ipc_t *ipc = api->ipc; api 635 lib/common/ipc_client.c api->ipc = NULL; api 638 lib/common/ipc_client.c api->free_on_disconnect = false; api 642 lib/common/ipc_client.c ipc_post_disconnect(api); api 661 lib/common/ipc_client.c pcmk_register_ipc_callback(pcmk_ipc_api_t *api, pcmk_ipc_callback_t cb, api 664 lib/common/ipc_client.c if (api == NULL) { api 667 lib/common/ipc_client.c api->cb = cb; api 668 lib/common/ipc_client.c api->user_data = user_data; api 684 lib/common/ipc_client.c pcmk__send_ipc_request(pcmk_ipc_api_t *api, const xmlNode *request) api 690 lib/common/ipc_client.c if ((api == NULL) || (api->ipc == NULL) || (request == NULL)) { api 696 lib/common/ipc_client.c if ((api->dispatch_type == pcmk_ipc_dispatch_sync) api 697 lib/common/ipc_client.c && (api->cmds != NULL) api 698 lib/common/ipc_client.c && (api->cmds->reply_expected != NULL) api 699 lib/common/ipc_client.c && (api->cmds->reply_expected(api, request))) { api 708 lib/common/ipc_client.c rc = crm_ipc_send(api->ipc, request, flags, 0, &reply); api 718 lib/common/ipc_client.c bool more = call_api_dispatch(api, reply); api 723 lib/common/ipc_client.c rc = crm_ipc_read(api->ipc); api 733 lib/common/ipc_client.c rc = dispatch_ipc_data(crm_ipc_buffer(api->ipc), api); api 734 lib/common/ipc_client.c pcmk__ipc_free_client_buffer(api->ipc); api 771 lib/common/ipc_client.c create_purge_node_request(const pcmk_ipc_api_t *api, const char *node_name, api 777 lib/common/ipc_client.c switch (api->server) { api 793 lib/common/ipc_client.c request = pcmk__new_request(api->server, client, NULL, api 794 lib/common/ipc_client.c pcmk_ipc_name(api, false), api 825 lib/common/ipc_client.c pcmk_ipc_purge_node(pcmk_ipc_api_t *api, const char *node_name, uint32_t nodeid) api 830 lib/common/ipc_client.c if (api == NULL) { api 837 lib/common/ipc_client.c request = create_purge_node_request(api, node_name, nodeid); api 841 lib/common/ipc_client.c rc = pcmk__send_ipc_request(api, request); api 845 lib/common/ipc_client.c pcmk_ipc_name(api, true), node_name, (unsigned long) nodeid, rc); api 65 lib/common/ipc_controld.c new_data(pcmk_ipc_api_t *api) api 69 lib/common/ipc_controld.c api->api_data = calloc(1, sizeof(struct controld_api_private_s)); api 71 lib/common/ipc_controld.c if (api->api_data == NULL) { api 75 lib/common/ipc_controld.c private = api->api_data; api 101 lib/common/ipc_controld.c post_connect(pcmk_ipc_api_t *api) api 106 lib/common/ipc_controld.c struct controld_api_private_s *private = api->api_data; api 114 lib/common/ipc_controld.c rc = pcmk__send_ipc_request(api, hello); api 118 lib/common/ipc_controld.c pcmk_ipc_name(api, true), pcmk_rc_str(rc), rc); api 120 lib/common/ipc_controld.c crm_debug("Sent IPC hello to %s", pcmk_ipc_name(api, true)); api 187 lib/common/ipc_controld.c reply_expected(pcmk_ipc_api_t *api, const xmlNode *request) api 202 lib/common/ipc_controld.c dispatch(pcmk_ipc_api_t *api, xmlNode *reply) api 204 lib/common/ipc_controld.c struct controld_api_private_s *private = api->api_data; api 288 lib/common/ipc_controld.c pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data); api 325 lib/common/ipc_controld.c create_controller_request(const pcmk_ipc_api_t *api, const char *op, api 333 lib/common/ipc_controld.c if (api == NULL) { api 336 lib/common/ipc_controld.c private = api->api_data; api 352 lib/common/ipc_controld.c send_controller_request(pcmk_ipc_api_t *api, const xmlNode *request, api 359 lib/common/ipc_controld.c struct controld_api_private_s *private = api->api_data; api 363 lib/common/ipc_controld.c return pcmk__send_ipc_request(api, request); api 390 lib/common/ipc_controld.c pcmk_controld_api_reprobe(pcmk_ipc_api_t *api, const char *target_node, api 397 lib/common/ipc_controld.c if (api == NULL) { api 404 lib/common/ipc_controld.c pcmk_ipc_name(api, true), pcmk__s(target_node, "local node"), api 407 lib/common/ipc_controld.c request = create_controller_request(api, CRM_OP_REPROBE, router_node, api 409 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 425 lib/common/ipc_controld.c pcmk_controld_api_node_info(pcmk_ipc_api_t *api, uint32_t nodeid) api 430 lib/common/ipc_controld.c request = create_controller_request(api, CRM_OP_NODE_INFO, NULL, NULL); api 438 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 453 lib/common/ipc_controld.c pcmk_controld_api_ping(pcmk_ipc_api_t *api, const char *node_name) api 458 lib/common/ipc_controld.c request = create_controller_request(api, CRM_OP_PING, node_name, NULL); api 462 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 476 lib/common/ipc_controld.c pcmk_controld_api_list_nodes(pcmk_ipc_api_t *api) api 481 lib/common/ipc_controld.c request = create_controller_request(api, PCMK__CONTROLD_CMD_NODES, NULL, api 484 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 492 lib/common/ipc_controld.c controller_resource_op(pcmk_ipc_api_t *api, const char *op, api 502 lib/common/ipc_controld.c if (api == NULL) { api 545 lib/common/ipc_controld.c request = create_controller_request(api, op, router_node, msg_data); api 546 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 568 lib/common/ipc_controld.c pcmk_controld_api_fail(pcmk_ipc_api_t *api, api 575 lib/common/ipc_controld.c pcmk_ipc_name(api, true), pcmk__s(rsc_id, "unknown resource"), api 579 lib/common/ipc_controld.c return controller_resource_op(api, CRM_OP_LRM_FAIL, target_node, api 601 lib/common/ipc_controld.c pcmk_controld_api_refresh(pcmk_ipc_api_t *api, const char *target_node, api 608 lib/common/ipc_controld.c pcmk_ipc_name(api, true), pcmk__s(rsc_id, "unknown resource"), api 612 lib/common/ipc_controld.c return controller_resource_op(api, CRM_OP_LRM_DELETE, target_node, api 625 lib/common/ipc_controld.c pcmk_controld_api_replies_expected(const pcmk_ipc_api_t *api) api 627 lib/common/ipc_controld.c struct controld_api_private_s *private = api->api_data; api 124 lib/common/ipc_pacemakerd.c new_data(pcmk_ipc_api_t *api) api 128 lib/common/ipc_pacemakerd.c api->api_data = calloc(1, sizeof(struct pacemakerd_api_private_s)); api 130 lib/common/ipc_pacemakerd.c if (api->api_data == NULL) { api 134 lib/common/ipc_pacemakerd.c private = api->api_data; api 153 lib/common/ipc_pacemakerd.c post_connect(pcmk_ipc_api_t *api) api 157 lib/common/ipc_pacemakerd.c if (api->api_data == NULL) { api 160 lib/common/ipc_pacemakerd.c private = api->api_data; api 167 lib/common/ipc_pacemakerd.c post_disconnect(pcmk_ipc_api_t *api) api 171 lib/common/ipc_pacemakerd.c if (api->api_data == NULL) { api 174 lib/common/ipc_pacemakerd.c private = api->api_data; api 181 lib/common/ipc_pacemakerd.c reply_expected(pcmk_ipc_api_t *api, const xmlNode *request) api 194 lib/common/ipc_pacemakerd.c dispatch(pcmk_ipc_api_t *api, xmlNode *reply) api 213 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true), pcmk__s(status, "")); api 226 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true), pcmk__s(value, "")); api 233 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true), pcmk__s(value, "")); api 240 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true)); api 271 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true), pcmk__s(value, "")); api 277 lib/common/ipc_pacemakerd.c pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data); api 298 lib/common/ipc_pacemakerd.c do_pacemakerd_api_call(pcmk_ipc_api_t *api, const char *ipc_name, const char *task) api 305 lib/common/ipc_pacemakerd.c if (api == NULL) { api 309 lib/common/ipc_pacemakerd.c private = api->api_data; api 319 lib/common/ipc_pacemakerd.c rc = pcmk__send_ipc_request(api, cmd); api 322 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true), pcmk_rc_str(rc), rc); api 333 lib/common/ipc_pacemakerd.c pcmk_pacemakerd_api_ping(pcmk_ipc_api_t *api, const char *ipc_name) api 335 lib/common/ipc_pacemakerd.c return do_pacemakerd_api_call(api, ipc_name, CRM_OP_PING); api 339 lib/common/ipc_pacemakerd.c pcmk_pacemakerd_api_shutdown(pcmk_ipc_api_t *api, const char *ipc_name) api 341 lib/common/ipc_pacemakerd.c return do_pacemakerd_api_call(api, ipc_name, CRM_OP_QUIT); api 28 lib/common/ipc_schedulerd.c new_data(pcmk_ipc_api_t *api) api 32 lib/common/ipc_schedulerd.c api->api_data = calloc(1, sizeof(struct schedulerd_api_private_s)); api 34 lib/common/ipc_schedulerd.c if (api->api_data == NULL) { api 38 lib/common/ipc_schedulerd.c private = api->api_data; api 54 lib/common/ipc_schedulerd.c post_connect(pcmk_ipc_api_t *api) api 56 lib/common/ipc_schedulerd.c if (api->api_data == NULL) { api 64 lib/common/ipc_schedulerd.c reply_expected(pcmk_ipc_api_t *api, const xmlNode *request) api 77 lib/common/ipc_schedulerd.c dispatch(pcmk_ipc_api_t *api, xmlNode *reply) api 136 lib/common/ipc_schedulerd.c pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data); api 156 lib/common/ipc_schedulerd.c do_schedulerd_api_call(pcmk_ipc_api_t *api, const char *task, xmlNode *cib, char **ref) api 163 lib/common/ipc_schedulerd.c if (!pcmk_ipc_is_connected(api)) { api 167 lib/common/ipc_schedulerd.c private = api->api_data; api 177 lib/common/ipc_schedulerd.c rc = pcmk__send_ipc_request(api, cmd); api 193 lib/common/ipc_schedulerd.c pcmk_schedulerd_api_graph(pcmk_ipc_api_t *api, xmlNode *cib, char **ref) api 195 lib/common/ipc_schedulerd.c return do_schedulerd_api_call(api, CRM_OP_PECALC, cib, ref); api 2371 lib/lrmd/lrmd_client.c lrmd__new(lrmd_t **api, const char *nodename, const char *server, int port) api 2375 lib/lrmd/lrmd_client.c if (api == NULL) { api 2378 lib/lrmd/lrmd_client.c *api = NULL; api 2382 lib/lrmd/lrmd_client.c *api = calloc(1, sizeof(lrmd_t)); api 2383 lib/lrmd/lrmd_client.c if (*api == NULL) { api 2389 lib/lrmd/lrmd_client.c lrmd_api_delete(*api); api 2390 lib/lrmd/lrmd_client.c *api = NULL; api 2393 lib/lrmd/lrmd_client.c (*api)->lrmd_private = pvt; api 2398 lib/lrmd/lrmd_client.c (*api)->cmds = calloc(1, sizeof(lrmd_api_operations_t)); api 2400 lib/lrmd/lrmd_client.c if ((pvt->remote == NULL) || ((*api)->cmds == NULL)) { api 2401 lib/lrmd/lrmd_client.c lrmd_api_delete(*api); api 2402 lib/lrmd/lrmd_client.c *api = NULL; api 2407 lib/lrmd/lrmd_client.c (*api)->cmds->connect = lrmd_api_connect; api 2408 lib/lrmd/lrmd_client.c (*api)->cmds->connect_async = lrmd_api_connect_async; api 2409 lib/lrmd/lrmd_client.c (*api)->cmds->is_connected = lrmd_api_is_connected; api 2410 lib/lrmd/lrmd_client.c (*api)->cmds->poke_connection = lrmd_api_poke_connection; api 2411 lib/lrmd/lrmd_client.c (*api)->cmds->disconnect = lrmd_api_disconnect; api 2412 lib/lrmd/lrmd_client.c (*api)->cmds->register_rsc = lrmd_api_register_rsc; api 2413 lib/lrmd/lrmd_client.c (*api)->cmds->unregister_rsc = lrmd_api_unregister_rsc; api 2414 lib/lrmd/lrmd_client.c (*api)->cmds->get_rsc_info = lrmd_api_get_rsc_info; api 2415 lib/lrmd/lrmd_client.c (*api)->cmds->get_recurring_ops = lrmd_api_get_recurring_ops; api 2416 lib/lrmd/lrmd_client.c (*api)->cmds->set_callback = lrmd_api_set_callback; api 2417 lib/lrmd/lrmd_client.c (*api)->cmds->get_metadata = lrmd_api_get_metadata; api 2418 lib/lrmd/lrmd_client.c (*api)->cmds->exec = lrmd_api_exec; api 2419 lib/lrmd/lrmd_client.c (*api)->cmds->cancel = lrmd_api_cancel; api 2420 lib/lrmd/lrmd_client.c (*api)->cmds->list_agents = lrmd_api_list_agents; api 2421 lib/lrmd/lrmd_client.c (*api)->cmds->list_ocf_providers = lrmd_api_list_ocf_providers; api 2422 lib/lrmd/lrmd_client.c (*api)->cmds->list_standards = lrmd_api_list_standards; api 2423 lib/lrmd/lrmd_client.c (*api)->cmds->exec_alert = lrmd_api_exec_alert; api 2424 lib/lrmd/lrmd_client.c (*api)->cmds->get_metadata_params = lrmd_api_get_metadata_params; api 2438 lib/lrmd/lrmd_client.c lrmd_api_delete(*api); api 2439 lib/lrmd/lrmd_client.c *api = NULL; api 2453 lib/lrmd/lrmd_client.c lrmd_t *api = NULL; api 2455 lib/lrmd/lrmd_client.c pcmk__assert(lrmd__new(&api, NULL, NULL, 0) == pcmk_rc_ok); api 2456 lib/lrmd/lrmd_client.c return api; api 2462 lib/lrmd/lrmd_client.c lrmd_t *api = NULL; api 2464 lib/lrmd/lrmd_client.c pcmk__assert(lrmd__new(&api, nodename, server, port) == pcmk_rc_ok); api 2465 lib/lrmd/lrmd_client.c return api; api 63 lib/pacemaker/pcmk_cluster_queries.c validate_reply_event(data_t *data, const pcmk_ipc_api_t *api, api 75 lib/pacemaker/pcmk_cluster_queries.c pcmk_ipc_name(api, true)); api 87 lib/pacemaker/pcmk_cluster_queries.c pcmk_ipc_name(api, true), crm_exit_str(status)); api 108 lib/pacemaker/pcmk_cluster_queries.c validate_controld_reply(data_t *data, const pcmk_ipc_api_t *api, api 117 lib/pacemaker/pcmk_cluster_queries.c rc = validate_reply_event(data, api, event_type, status); api 149 lib/pacemaker/pcmk_cluster_queries.c validate_pcmkd_reply(data_t *data, const pcmk_ipc_api_t *api, api 156 lib/pacemaker/pcmk_cluster_queries.c int rc = validate_reply_event(data, api, event_type, status); api 349 lib/pacemaker/pcmk_cluster_queries.c pcmk_ipc_api_t *api = NULL; api 351 lib/pacemaker/pcmk_cluster_queries.c rc = pcmk_new_ipc_api(&api, server); api 352 lib/pacemaker/pcmk_cluster_queries.c if (api == NULL) { api 354 lib/pacemaker/pcmk_cluster_queries.c pcmk_ipc_name(api, true), api 360 lib/pacemaker/pcmk_cluster_queries.c pcmk_register_ipc_callback(api, cb, data); api 363 lib/pacemaker/pcmk_cluster_queries.c rc = pcmk__connect_ipc(api, dispatch_type, 5); api 373 lib/pacemaker/pcmk_cluster_queries.c pcmk_ipc_name(api, true)); api 377 lib/pacemaker/pcmk_cluster_queries.c pcmk_ipc_name(api, true), pcmk_rc_str(rc)); api 381 lib/pacemaker/pcmk_cluster_queries.c pcmk_free_ipc_api(api); api 385 lib/pacemaker/pcmk_cluster_queries.c return api; api 400 lib/pacemaker/pcmk_cluster_queries.c poll_until_reply(data_t *data, pcmk_ipc_api_t *api, const char *on_node) api 410 lib/pacemaker/pcmk_cluster_queries.c int rc = pcmk_poll_ipc(api, remaining_ms); api 419 lib/pacemaker/pcmk_cluster_queries.c pcmk_ipc_name(api, true), (on_node != NULL)? " on " : "", api 425 lib/pacemaker/pcmk_cluster_queries.c pcmk_dispatch_ipc(api); api 438 lib/pacemaker/pcmk_cluster_queries.c data->message_timeout_ms, pcmk_ipc_name(api, true), api 627 tools/crm_node.c pcmk_ipc_api_t *api = NULL; api 630 tools/crm_node.c rc = pcmk_new_ipc_api(&api, server); api 635 tools/crm_node.c rc = pcmk__connect_ipc(api, pcmk_ipc_dispatch_sync, 5); api 640 tools/crm_node.c rc = pcmk_ipc_purge_node(api, node_name, node_id); api 645 tools/crm_node.c pcmk__s(node_name, "by ID"), pcmk_ipc_name(api, true), api 648 tools/crm_node.c pcmk_free_ipc_api(api); api 221 tools/crm_resource.c controller_event_callback(pcmk_ipc_api_t *api, enum pcmk_ipc_event event_type, api 242 tools/crm_resource.c pcmk_disconnect_ipc(api); api 248 tools/crm_resource.c if ((pcmk_controld_api_replies_expected(api) == 0) api 254 tools/crm_resource.c pcmk_disconnect_ipc(api);