api 391 daemons/controld/controld_execd_state.c lrmd_t *api = NULL; api 393 daemons/controld/controld_execd_state.c rc = lrmd__new(&api, NULL, NULL, 0); api 397 daemons/controld/controld_execd_state.c api->cmds->set_callback(api, lrm_op_callback); api 398 daemons/controld/controld_execd_state.c lrm_state->conn = api; api 605 daemons/controld/controld_execd_state.c lrmd_t *api = NULL; api 607 daemons/controld/controld_execd_state.c rc = lrmd__new(&api, lrm_state->node_name, server, port); api 614 daemons/controld/controld_execd_state.c lrm_state->conn = api; api 615 daemons/controld/controld_execd_state.c api->cmds->set_callback(api, remote_lrm_op_callback); api 616 daemons/controld/controld_execd_state.c lrmd_internal_set_proxy_callback(api, lrm_state, crmd_remote_proxy_cb); api 163 daemons/controld/controld_schedulerd.c scheduler_event_callback(pcmk_ipc_api_t *api, enum pcmk_ipc_event event_type, api 126 include/crm/common/ipc.h typedef void (*pcmk_ipc_callback_t)(pcmk_ipc_api_t *api, api 132 include/crm/common/ipc.h int pcmk_new_ipc_api(pcmk_ipc_api_t **api, enum pcmk_ipc_server server); api 135 include/crm/common/ipc.h void pcmk_free_ipc_api(pcmk_ipc_api_t *api); api 138 include/crm/common/ipc.h int pcmk_connect_ipc(pcmk_ipc_api_t *api, enum pcmk_ipc_dispatch dispatch_type); api 140 include/crm/common/ipc.h void pcmk_disconnect_ipc(pcmk_ipc_api_t *api); api 142 include/crm/common/ipc.h int pcmk_poll_ipc(const pcmk_ipc_api_t *api, int timeout_ms); api 144 include/crm/common/ipc.h void pcmk_dispatch_ipc(pcmk_ipc_api_t *api); api 147 include/crm/common/ipc.h void pcmk_register_ipc_callback(pcmk_ipc_api_t *api, pcmk_ipc_callback_t cb, api 150 include/crm/common/ipc.h const char *pcmk_ipc_name(const pcmk_ipc_api_t *api, bool for_log); api 152 include/crm/common/ipc.h bool pcmk_ipc_is_connected(pcmk_ipc_api_t *api); api 154 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 101 include/crm/common/ipc_internal.h int pcmk__connect_ipc(pcmk_ipc_api_t *api, enum pcmk_ipc_dispatch dispatch_type, 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 22 include/crm/lrmd_internal.h int lrmd__new(lrmd_t **api, const char *nodename, const char *server, int port); api 183 lib/common/crmcommon_private.h int (*new_data)(pcmk_ipc_api_t *api); api 207 lib/common/crmcommon_private.h int (*post_connect)(pcmk_ipc_api_t *api); api 218 lib/common/crmcommon_private.h bool (*reply_expected)(pcmk_ipc_api_t *api, const xmlNode *request); api 229 lib/common/crmcommon_private.h bool (*dispatch)(pcmk_ipc_api_t *api, xmlNode *msg); api 237 lib/common/crmcommon_private.h void (*post_disconnect)(pcmk_ipc_api_t *api); api 263 lib/common/crmcommon_private.h int pcmk__send_ipc_request(pcmk_ipc_api_t *api, const xmlNode *request); api 266 lib/common/crmcommon_private.h void pcmk__call_ipc_callback(pcmk_ipc_api_t *api, api 47 lib/common/ipc_attrd.c reply_expected(pcmk_ipc_api_t *api, const xmlNode *request) api 62 lib/common/ipc_attrd.c dispatch(pcmk_ipc_api_t *api, xmlNode *reply) api 107 lib/common/ipc_attrd.c pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data); api 153 lib/common/ipc_attrd.c connect_and_send_attrd_request(pcmk_ipc_api_t *api, const xmlNode *request) api 158 lib/common/ipc_attrd.c if (api == NULL) { api 159 lib/common/ipc_attrd.c rc = pcmk_new_ipc_api(&api, pcmk_ipc_attrd); api 166 lib/common/ipc_attrd.c rc = pcmk__connect_ipc(api, pcmk_ipc_dispatch_sync, 5); api 168 lib/common/ipc_attrd.c rc = pcmk__send_ipc_request(api, request); api 172 lib/common/ipc_attrd.c pcmk_free_ipc_api(api); api 178 lib/common/ipc_attrd.c pcmk__attrd_api_clear_failures(pcmk_ipc_api_t *api, const char *node, api 201 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), interval_desc, op_desc, api 212 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 219 lib/common/ipc_attrd.c pcmk__attrd_api_delete(pcmk_ipc_api_t *api, const char *node, const char *name, api 238 lib/common/ipc_attrd.c return pcmk__attrd_api_update(api, node, name, NULL, NULL, NULL, NULL, options); api 242 lib/common/ipc_attrd.c pcmk__attrd_api_purge(pcmk_ipc_api_t *api, const char *node, bool reap) api 253 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), api 263 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 270 lib/common/ipc_attrd.c pcmk__attrd_api_query(pcmk_ipc_api_t *api, const char *node, const char *name, api 292 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), name, api 301 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 307 lib/common/ipc_attrd.c pcmk__attrd_api_refresh(pcmk_ipc_api_t *api, const char *node) api 318 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), pcmk__s(node, "local node")); api 325 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 378 lib/common/ipc_attrd.c pcmk__attrd_api_update(pcmk_ipc_api_t *api, const char *node, const char *name, api 397 lib/common/ipc_attrd.c pcmk_ipc_name(api, true), name, pcmk__s(value, "(null)"), api 403 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 410 lib/common/ipc_attrd.c pcmk__attrd_api_update_list(pcmk_ipc_api_t *api, GList *attrs, const char *dampen, api 471 lib/common/ipc_attrd.c rc = pcmk__attrd_api_update(api, pair->node, pair->name, pair->value, api 480 lib/common/ipc_attrd.c rc = connect_and_send_attrd_request(api, request); api 51 lib/common/ipc_client.c pcmk_new_ipc_api(pcmk_ipc_api_t **api, enum pcmk_ipc_server server) api 53 lib/common/ipc_client.c if (api == NULL) { api 57 lib/common/ipc_client.c *api = calloc(1, sizeof(pcmk_ipc_api_t)); api 58 lib/common/ipc_client.c if (*api == NULL) { api 62 lib/common/ipc_client.c (*api)->server = server; api 63 lib/common/ipc_client.c if (pcmk_ipc_name(*api, false) == NULL) { api 64 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 65 lib/common/ipc_client.c *api = NULL; api 69 lib/common/ipc_client.c (*api)->ipc_size_max = 0; api 74 lib/common/ipc_client.c (*api)->cmds = pcmk__attrd_api_methods(); api 78 lib/common/ipc_client.c (*api)->ipc_size_max = 512 * 1024; // 512KB api 82 lib/common/ipc_client.c (*api)->cmds = pcmk__controld_api_methods(); api 92 lib/common/ipc_client.c (*api)->cmds = pcmk__pacemakerd_api_methods(); api 96 lib/common/ipc_client.c (*api)->cmds = pcmk__schedulerd_api_methods(); api 98 lib/common/ipc_client.c (*api)->ipc_size_max = 5 * 1024 * 1024; // 5MB api 101 lib/common/ipc_client.c if ((*api)->cmds == NULL) { api 102 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 103 lib/common/ipc_client.c *api = NULL; api 107 lib/common/ipc_client.c (*api)->ipc = crm_ipc_new(pcmk_ipc_name(*api, false), api 108 lib/common/ipc_client.c (*api)->ipc_size_max); api 109 lib/common/ipc_client.c if ((*api)->ipc == NULL) { api 110 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 111 lib/common/ipc_client.c *api = NULL; api 116 lib/common/ipc_client.c if ((*api)->cmds->new_data != NULL) { api 117 lib/common/ipc_client.c if ((*api)->cmds->new_data(*api) != pcmk_rc_ok) { api 118 lib/common/ipc_client.c pcmk_free_ipc_api(*api); api 119 lib/common/ipc_client.c *api = NULL; api 123 lib/common/ipc_client.c crm_trace("Created %s API IPC object", pcmk_ipc_name(*api, true)); api 128 lib/common/ipc_client.c free_daemon_specific_data(pcmk_ipc_api_t *api) api 130 lib/common/ipc_client.c if ((api != NULL) && (api->cmds != NULL)) { api 131 lib/common/ipc_client.c if ((api->cmds->free_data != NULL) && (api->api_data != NULL)) { api 132 lib/common/ipc_client.c api->cmds->free_data(api->api_data); api 133 lib/common/ipc_client.c api->api_data = NULL; api 135 lib/common/ipc_client.c free(api->cmds); api 136 lib/common/ipc_client.c api->cmds = NULL; api 150 lib/common/ipc_client.c pcmk__call_ipc_callback(pcmk_ipc_api_t *api, enum pcmk_ipc_event event_type, api 153 lib/common/ipc_client.c if ((api != NULL) && (api->cb != NULL)) { api 154 lib/common/ipc_client.c api->cb(api, event_type, status, event_data, api->user_data); api 169 lib/common/ipc_client.c pcmk_ipc_api_t *api = user_data; api 171 lib/common/ipc_client.c crm_info("Disconnected from %s", pcmk_ipc_name(api, true)); api 174 lib/common/ipc_client.c if ((api->cmds != NULL) && (api->cmds->post_disconnect != NULL)) { api 175 lib/common/ipc_client.c api->cmds->post_disconnect(api); api 179 lib/common/ipc_client.c pcmk__call_ipc_callback(api, pcmk_ipc_event_disconnect, CRM_EX_DISCONNECT, api 187 lib/common/ipc_client.c api->ipc = NULL; api 188 lib/common/ipc_client.c api->mainloop_io = NULL; api 190 lib/common/ipc_client.c if (api->free_on_disconnect) { api 194 lib/common/ipc_client.c free_daemon_specific_data(api); api 196 lib/common/ipc_client.c free(api); api 206 lib/common/ipc_client.c pcmk_free_ipc_api(pcmk_ipc_api_t *api) api 210 lib/common/ipc_client.c if (api == NULL) { api 213 lib/common/ipc_client.c crm_debug("Releasing %s IPC API", pcmk_ipc_name(api, true)); api 215 lib/common/ipc_client.c if (api->ipc != NULL) { api 216 lib/common/ipc_client.c if (api->mainloop_io != NULL) { api 226 lib/common/ipc_client.c free_on_disconnect = api->free_on_disconnect = true; api 228 lib/common/ipc_client.c pcmk_disconnect_ipc(api); // Frees api if free_on_disconnect is true api 231 lib/common/ipc_client.c free_daemon_specific_data(api); api 233 lib/common/ipc_client.c free(api); api 247 lib/common/ipc_client.c pcmk_ipc_name(const pcmk_ipc_api_t *api, bool for_log) api 249 lib/common/ipc_client.c if (api == NULL) { api 252 lib/common/ipc_client.c switch (api->server) { api 287 lib/common/ipc_client.c pcmk_ipc_is_connected(pcmk_ipc_api_t *api) api 289 lib/common/ipc_client.c return (api != NULL) && crm_ipc_connected(api->ipc); api 304 lib/common/ipc_client.c call_api_dispatch(pcmk_ipc_api_t *api, xmlNode *message) api 307 lib/common/ipc_client.c if ((api->cmds != NULL) && (api->cmds->dispatch != NULL)) { api 308 lib/common/ipc_client.c return api->cmds->dispatch(api, message); api 330 lib/common/ipc_client.c dispatch_ipc_data(const char *buffer, pcmk_ipc_api_t *api) api 337 lib/common/ipc_client.c pcmk_ipc_name(api, true)); api 344 lib/common/ipc_client.c pcmk_ipc_name(api, true)); api 348 lib/common/ipc_client.c more = call_api_dispatch(api, msg); api 373 lib/common/ipc_client.c pcmk_ipc_api_t *api = user_data; api 375 lib/common/ipc_client.c CRM_CHECK(api != NULL, return 0); api 376 lib/common/ipc_client.c dispatch_ipc_data(buffer, api); api 399 lib/common/ipc_client.c pcmk_poll_ipc(const pcmk_ipc_api_t *api, int timeout_ms) api 404 lib/common/ipc_client.c if ((api == NULL) || (api->dispatch_type != pcmk_ipc_dispatch_poll)) { api 408 lib/common/ipc_client.c rc = pcmk__ipc_fd(api->ipc, &(pollfd.fd)); api 411 lib/common/ipc_client.c pcmk_ipc_name(api, true), pcmk_rc_str(rc)); api 439 lib/common/ipc_client.c pcmk_dispatch_ipc(pcmk_ipc_api_t *api) api 441 lib/common/ipc_client.c if (api == NULL) { api 444 lib/common/ipc_client.c while (crm_ipc_ready(api->ipc) > 0) { api 445 lib/common/ipc_client.c if (crm_ipc_read(api->ipc) > 0) { api 446 lib/common/ipc_client.c dispatch_ipc_data(crm_ipc_buffer(api->ipc), api); api 453 lib/common/ipc_client.c connect_with_main_loop(pcmk_ipc_api_t *api) api 462 lib/common/ipc_client.c rc = pcmk__add_mainloop_ipc(api->ipc, G_PRIORITY_DEFAULT, api, api 463 lib/common/ipc_client.c &callbacks, &(api->mainloop_io)); api 468 lib/common/ipc_client.c pcmk_ipc_name(api, true)); api 477 lib/common/ipc_client.c connect_without_main_loop(pcmk_ipc_api_t *api) api 479 lib/common/ipc_client.c int rc = pcmk__connect_generic_ipc(api->ipc); api 482 lib/common/ipc_client.c crm_ipc_close(api->ipc); api 485 lib/common/ipc_client.c pcmk_ipc_name(api, true)); api 501 lib/common/ipc_client.c pcmk__connect_ipc(pcmk_ipc_api_t *api, enum pcmk_ipc_dispatch dispatch_type, api 506 lib/common/ipc_client.c if ((api == NULL) || (attempts < 1)) { api 510 lib/common/ipc_client.c if (api->ipc == NULL) { api 511 lib/common/ipc_client.c api->ipc = crm_ipc_new(pcmk_ipc_name(api, false), api->ipc_size_max); api 512 lib/common/ipc_client.c if (api->ipc == NULL) { api 517 lib/common/ipc_client.c if (crm_ipc_connected(api->ipc)) { api 518 lib/common/ipc_client.c crm_trace("Already connected to %s", pcmk_ipc_name(api, true)); api 522 lib/common/ipc_client.c api->dispatch_type = dispatch_type; api 525 lib/common/ipc_client.c pcmk_ipc_name(api, true), attempts, pcmk__plural_s(attempts)); api 529 lib/common/ipc_client.c rc = connect_with_main_loop(api); api 534 lib/common/ipc_client.c rc = connect_without_main_loop(api); api 545 lib/common/ipc_client.c pcmk_ipc_name(api, true), remaining, api 553 lib/common/ipc_client.c if ((api->cmds != NULL) && (api->cmds->post_connect != NULL)) { api 554 lib/common/ipc_client.c rc = api->cmds->post_connect(api); api 556 lib/common/ipc_client.c crm_ipc_close(api->ipc); api 571 lib/common/ipc_client.c pcmk_connect_ipc(pcmk_ipc_api_t *api, enum pcmk_ipc_dispatch dispatch_type) api 573 lib/common/ipc_client.c int rc = pcmk__connect_ipc(api, dispatch_type, 2); api 577 lib/common/ipc_client.c pcmk_ipc_name(api, true), pcmk_rc_str(rc)); api 594 lib/common/ipc_client.c pcmk_disconnect_ipc(pcmk_ipc_api_t *api) api 596 lib/common/ipc_client.c if ((api == NULL) || (api->ipc == NULL)) { api 599 lib/common/ipc_client.c switch (api->dispatch_type) { api 602 lib/common/ipc_client.c mainloop_io_t *mainloop_io = api->mainloop_io; api 605 lib/common/ipc_client.c api->mainloop_io = NULL; api 606 lib/common/ipc_client.c api->ipc = NULL; api 616 lib/common/ipc_client.c crm_ipc_t *ipc = api->ipc; api 619 lib/common/ipc_client.c api->ipc = NULL; api 622 lib/common/ipc_client.c api->free_on_disconnect = false; api 626 lib/common/ipc_client.c ipc_post_disconnect(api); api 645 lib/common/ipc_client.c pcmk_register_ipc_callback(pcmk_ipc_api_t *api, pcmk_ipc_callback_t cb, api 648 lib/common/ipc_client.c if (api == NULL) { api 651 lib/common/ipc_client.c api->cb = cb; api 652 lib/common/ipc_client.c api->user_data = user_data; api 668 lib/common/ipc_client.c pcmk__send_ipc_request(pcmk_ipc_api_t *api, const xmlNode *request) api 674 lib/common/ipc_client.c if ((api == NULL) || (api->ipc == NULL) || (request == NULL)) { api 680 lib/common/ipc_client.c if ((api->dispatch_type == pcmk_ipc_dispatch_sync) api 681 lib/common/ipc_client.c && (api->cmds != NULL) api 682 lib/common/ipc_client.c && (api->cmds->reply_expected != NULL) api 683 lib/common/ipc_client.c && (api->cmds->reply_expected(api, request))) { api 688 lib/common/ipc_client.c rc = crm_ipc_send(api->ipc, request, flags, 0, &reply); api 698 lib/common/ipc_client.c bool more = call_api_dispatch(api, reply); api 703 lib/common/ipc_client.c rc = crm_ipc_read(api->ipc); api 713 lib/common/ipc_client.c rc = dispatch_ipc_data(crm_ipc_buffer(api->ipc), api); api 750 lib/common/ipc_client.c create_purge_node_request(const pcmk_ipc_api_t *api, const char *node_name, api 756 lib/common/ipc_client.c switch (api->server) { api 770 lib/common/ipc_client.c pcmk_ipc_name(api, false), client, NULL); api 797 lib/common/ipc_client.c pcmk_ipc_purge_node(pcmk_ipc_api_t *api, const char *node_name, uint32_t nodeid) api 802 lib/common/ipc_client.c if (api == NULL) { api 809 lib/common/ipc_client.c request = create_purge_node_request(api, node_name, nodeid); api 813 lib/common/ipc_client.c rc = pcmk__send_ipc_request(api, request); api 817 lib/common/ipc_client.c pcmk_ipc_name(api, true), node_name, (unsigned long) nodeid, rc); api 61 lib/common/ipc_controld.c new_data(pcmk_ipc_api_t *api) api 65 lib/common/ipc_controld.c api->api_data = calloc(1, sizeof(struct controld_api_private_s)); api 67 lib/common/ipc_controld.c if (api->api_data == NULL) { api 71 lib/common/ipc_controld.c private = api->api_data; api 97 lib/common/ipc_controld.c post_connect(pcmk_ipc_api_t *api) api 102 lib/common/ipc_controld.c struct controld_api_private_s *private = api->api_data; api 110 lib/common/ipc_controld.c rc = pcmk__send_ipc_request(api, hello); api 114 lib/common/ipc_controld.c pcmk_ipc_name(api, true), pcmk_rc_str(rc), rc); api 116 lib/common/ipc_controld.c crm_debug("Sent IPC hello to %s", pcmk_ipc_name(api, true)); api 183 lib/common/ipc_controld.c reply_expected(pcmk_ipc_api_t *api, const xmlNode *request) api 198 lib/common/ipc_controld.c dispatch(pcmk_ipc_api_t *api, xmlNode *reply) api 200 lib/common/ipc_controld.c struct controld_api_private_s *private = api->api_data; api 281 lib/common/ipc_controld.c pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data); api 318 lib/common/ipc_controld.c create_controller_request(const pcmk_ipc_api_t *api, const char *op, api 324 lib/common/ipc_controld.c if (api == NULL) { api 327 lib/common/ipc_controld.c private = api->api_data; api 340 lib/common/ipc_controld.c send_controller_request(pcmk_ipc_api_t *api, const xmlNode *request, api 347 lib/common/ipc_controld.c struct controld_api_private_s *private = api->api_data; api 351 lib/common/ipc_controld.c return pcmk__send_ipc_request(api, request); api 378 lib/common/ipc_controld.c pcmk_controld_api_reprobe(pcmk_ipc_api_t *api, const char *target_node, api 385 lib/common/ipc_controld.c if (api == NULL) { api 392 lib/common/ipc_controld.c pcmk_ipc_name(api, true), pcmk__s(target_node, "local node"), api 395 lib/common/ipc_controld.c request = create_controller_request(api, CRM_OP_REPROBE, router_node, api 397 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 413 lib/common/ipc_controld.c pcmk_controld_api_node_info(pcmk_ipc_api_t *api, uint32_t nodeid) api 418 lib/common/ipc_controld.c request = create_controller_request(api, CRM_OP_NODE_INFO, NULL, NULL); api 426 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 441 lib/common/ipc_controld.c pcmk_controld_api_ping(pcmk_ipc_api_t *api, const char *node_name) api 446 lib/common/ipc_controld.c request = create_controller_request(api, CRM_OP_PING, node_name, NULL); api 450 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 464 lib/common/ipc_controld.c pcmk_controld_api_list_nodes(pcmk_ipc_api_t *api) api 469 lib/common/ipc_controld.c request = create_controller_request(api, PCMK__CONTROLD_CMD_NODES, NULL, api 472 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 480 lib/common/ipc_controld.c controller_resource_op(pcmk_ipc_api_t *api, const char *op, api 490 lib/common/ipc_controld.c if (api == NULL) { api 533 lib/common/ipc_controld.c request = create_controller_request(api, op, router_node, msg_data); api 534 lib/common/ipc_controld.c rc = send_controller_request(api, request, true); api 556 lib/common/ipc_controld.c pcmk_controld_api_fail(pcmk_ipc_api_t *api, api 563 lib/common/ipc_controld.c pcmk_ipc_name(api, true), pcmk__s(rsc_id, "unknown resource"), api 567 lib/common/ipc_controld.c return controller_resource_op(api, CRM_OP_LRM_FAIL, target_node, api 589 lib/common/ipc_controld.c pcmk_controld_api_refresh(pcmk_ipc_api_t *api, const char *target_node, api 596 lib/common/ipc_controld.c pcmk_ipc_name(api, true), pcmk__s(rsc_id, "unknown resource"), api 600 lib/common/ipc_controld.c return controller_resource_op(api, CRM_OP_LRM_DELETE, target_node, api 613 lib/common/ipc_controld.c pcmk_controld_api_replies_expected(const pcmk_ipc_api_t *api) api 615 lib/common/ipc_controld.c struct controld_api_private_s *private = api->api_data; api 123 lib/common/ipc_pacemakerd.c new_data(pcmk_ipc_api_t *api) api 127 lib/common/ipc_pacemakerd.c api->api_data = calloc(1, sizeof(struct pacemakerd_api_private_s)); api 129 lib/common/ipc_pacemakerd.c if (api->api_data == NULL) { api 133 lib/common/ipc_pacemakerd.c private = api->api_data; api 152 lib/common/ipc_pacemakerd.c post_connect(pcmk_ipc_api_t *api) api 156 lib/common/ipc_pacemakerd.c if (api->api_data == NULL) { api 159 lib/common/ipc_pacemakerd.c private = api->api_data; api 166 lib/common/ipc_pacemakerd.c post_disconnect(pcmk_ipc_api_t *api) api 170 lib/common/ipc_pacemakerd.c if (api->api_data == NULL) { api 173 lib/common/ipc_pacemakerd.c private = api->api_data; api 180 lib/common/ipc_pacemakerd.c reply_expected(pcmk_ipc_api_t *api, const xmlNode *request) api 193 lib/common/ipc_pacemakerd.c dispatch(pcmk_ipc_api_t *api, xmlNode *reply) api 215 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true), pcmk__s(value, "")); api 222 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true)); api 253 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true), pcmk__s(value, "")); api 259 lib/common/ipc_pacemakerd.c pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data); api 280 lib/common/ipc_pacemakerd.c do_pacemakerd_api_call(pcmk_ipc_api_t *api, const char *ipc_name, const char *task) api 286 lib/common/ipc_pacemakerd.c if (api == NULL) { api 290 lib/common/ipc_pacemakerd.c private = api->api_data; api 298 lib/common/ipc_pacemakerd.c rc = pcmk__send_ipc_request(api, cmd); api 301 lib/common/ipc_pacemakerd.c pcmk_ipc_name(api, true), pcmk_rc_str(rc), rc); api 312 lib/common/ipc_pacemakerd.c pcmk_pacemakerd_api_ping(pcmk_ipc_api_t *api, const char *ipc_name) api 314 lib/common/ipc_pacemakerd.c return do_pacemakerd_api_call(api, ipc_name, CRM_OP_PING); api 318 lib/common/ipc_pacemakerd.c pcmk_pacemakerd_api_shutdown(pcmk_ipc_api_t *api, const char *ipc_name) api 320 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 127 lib/common/ipc_schedulerd.c pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data); api 147 lib/common/ipc_schedulerd.c do_schedulerd_api_call(pcmk_ipc_api_t *api, const char *task, xmlNode *cib, char **ref) api 153 lib/common/ipc_schedulerd.c if (!pcmk_ipc_is_connected(api)) { api 157 lib/common/ipc_schedulerd.c private = api->api_data; api 165 lib/common/ipc_schedulerd.c rc = pcmk__send_ipc_request(api, cmd); api 181 lib/common/ipc_schedulerd.c pcmk_schedulerd_api_graph(pcmk_ipc_api_t *api, xmlNode *cib, char **ref) api 183 lib/common/ipc_schedulerd.c return do_schedulerd_api_call(api, CRM_OP_PECALC, cib, ref); api 2303 lib/lrmd/lrmd_client.c lrmd__new(lrmd_t **api, const char *nodename, const char *server, int port) api 2307 lib/lrmd/lrmd_client.c if (api == NULL) { api 2310 lib/lrmd/lrmd_client.c *api = NULL; api 2314 lib/lrmd/lrmd_client.c *api = calloc(1, sizeof(lrmd_t)); api 2315 lib/lrmd/lrmd_client.c if (*api == NULL) { api 2321 lib/lrmd/lrmd_client.c lrmd_api_delete(*api); api 2322 lib/lrmd/lrmd_client.c *api = NULL; api 2325 lib/lrmd/lrmd_client.c (*api)->lrmd_private = pvt; api 2330 lib/lrmd/lrmd_client.c (*api)->cmds = calloc(1, sizeof(lrmd_api_operations_t)); api 2332 lib/lrmd/lrmd_client.c if ((pvt->remote == NULL) || ((*api)->cmds == NULL)) { api 2333 lib/lrmd/lrmd_client.c lrmd_api_delete(*api); api 2334 lib/lrmd/lrmd_client.c *api = NULL; api 2339 lib/lrmd/lrmd_client.c (*api)->cmds->connect = lrmd_api_connect; api 2340 lib/lrmd/lrmd_client.c (*api)->cmds->connect_async = lrmd_api_connect_async; api 2341 lib/lrmd/lrmd_client.c (*api)->cmds->is_connected = lrmd_api_is_connected; api 2342 lib/lrmd/lrmd_client.c (*api)->cmds->poke_connection = lrmd_api_poke_connection; api 2343 lib/lrmd/lrmd_client.c (*api)->cmds->disconnect = lrmd_api_disconnect; api 2344 lib/lrmd/lrmd_client.c (*api)->cmds->register_rsc = lrmd_api_register_rsc; api 2345 lib/lrmd/lrmd_client.c (*api)->cmds->unregister_rsc = lrmd_api_unregister_rsc; api 2346 lib/lrmd/lrmd_client.c (*api)->cmds->get_rsc_info = lrmd_api_get_rsc_info; api 2347 lib/lrmd/lrmd_client.c (*api)->cmds->get_recurring_ops = lrmd_api_get_recurring_ops; api 2348 lib/lrmd/lrmd_client.c (*api)->cmds->set_callback = lrmd_api_set_callback; api 2349 lib/lrmd/lrmd_client.c (*api)->cmds->get_metadata = lrmd_api_get_metadata; api 2350 lib/lrmd/lrmd_client.c (*api)->cmds->exec = lrmd_api_exec; api 2351 lib/lrmd/lrmd_client.c (*api)->cmds->cancel = lrmd_api_cancel; api 2352 lib/lrmd/lrmd_client.c (*api)->cmds->list_agents = lrmd_api_list_agents; api 2353 lib/lrmd/lrmd_client.c (*api)->cmds->list_ocf_providers = lrmd_api_list_ocf_providers; api 2354 lib/lrmd/lrmd_client.c (*api)->cmds->list_standards = lrmd_api_list_standards; api 2355 lib/lrmd/lrmd_client.c (*api)->cmds->exec_alert = lrmd_api_exec_alert; api 2356 lib/lrmd/lrmd_client.c (*api)->cmds->get_metadata_params = lrmd_api_get_metadata_params; api 2371 lib/lrmd/lrmd_client.c lrmd_api_delete(*api); api 2372 lib/lrmd/lrmd_client.c *api = NULL; api 2382 lib/lrmd/lrmd_client.c lrmd_api_delete(*api); api 2383 lib/lrmd/lrmd_client.c *api = NULL; api 2393 lib/lrmd/lrmd_client.c lrmd_t *api = NULL; api 2395 lib/lrmd/lrmd_client.c CRM_ASSERT(lrmd__new(&api, NULL, NULL, 0) == pcmk_rc_ok); api 2396 lib/lrmd/lrmd_client.c return api; api 2402 lib/lrmd/lrmd_client.c lrmd_t *api = NULL; api 2404 lib/lrmd/lrmd_client.c CRM_ASSERT(lrmd__new(&api, nodename, server, port) == pcmk_rc_ok); api 2405 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 568 maint/gnulib/lib/parse-datetime.y %define api.pure 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 211 tools/crm_resource.c controller_event_callback(pcmk_ipc_api_t *api, enum pcmk_ipc_event event_type, api 226 tools/crm_resource.c pcmk_disconnect_ipc(api); api 229 tools/crm_resource.c if ((pcmk_controld_api_replies_expected(api) == 0) api 233 tools/crm_resource.c pcmk_disconnect_ipc(api);