api               393 daemons/controld/controld_execd_state.c         lrmd_t *api = NULL;
api               395 daemons/controld/controld_execd_state.c         rc = lrmd__new(&api, NULL, NULL, 0);
api               399 daemons/controld/controld_execd_state.c         api->cmds->set_callback(api, lrm_op_callback);
api               400 daemons/controld/controld_execd_state.c         lrm_state->conn = api;
api               612 daemons/controld/controld_execd_state.c         lrmd_t *api = NULL;
api               614 daemons/controld/controld_execd_state.c         rc = lrmd__new(&api, lrm_state->node_name, server, port);
api               621 daemons/controld/controld_execd_state.c         lrm_state->conn = api;
api               622 daemons/controld/controld_execd_state.c         api->cmds->set_callback(api, remote_lrm_op_callback);
api               623 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               199 lib/common/crmcommon_private.h     int (*new_data)(pcmk_ipc_api_t *api);
api               223 lib/common/crmcommon_private.h     int (*post_connect)(pcmk_ipc_api_t *api);
api               234 lib/common/crmcommon_private.h     bool (*reply_expected)(pcmk_ipc_api_t *api, const xmlNode *request);
api               245 lib/common/crmcommon_private.h     bool (*dispatch)(pcmk_ipc_api_t *api, xmlNode *msg);
api               253 lib/common/crmcommon_private.h     void (*post_disconnect)(pcmk_ipc_api_t *api);
api               279 lib/common/crmcommon_private.h int pcmk__send_ipc_request(pcmk_ipc_api_t *api, const xmlNode *request);
api               282 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               212 lib/common/ipc_pacemakerd.c                      pcmk_ipc_name(api, true), pcmk__s(status, ""));
api               221 lib/common/ipc_pacemakerd.c                  pcmk_ipc_name(api, true), pcmk__s(value, ""));
api               228 lib/common/ipc_pacemakerd.c                  pcmk_ipc_name(api, true));
api               259 lib/common/ipc_pacemakerd.c                  pcmk_ipc_name(api, true), pcmk__s(value, ""));
api               265 lib/common/ipc_pacemakerd.c     pcmk__call_ipc_callback(api, pcmk_ipc_event_reply, status, &reply_data);
api               286 lib/common/ipc_pacemakerd.c do_pacemakerd_api_call(pcmk_ipc_api_t *api, const char *ipc_name, const char *task)
api               292 lib/common/ipc_pacemakerd.c     if (api == NULL) {
api               296 lib/common/ipc_pacemakerd.c     private = api->api_data;
api               304 lib/common/ipc_pacemakerd.c         rc = pcmk__send_ipc_request(api, cmd);
api               307 lib/common/ipc_pacemakerd.c                       pcmk_ipc_name(api, true), pcmk_rc_str(rc), rc);
api               318 lib/common/ipc_pacemakerd.c pcmk_pacemakerd_api_ping(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_PING);
api               324 lib/common/ipc_pacemakerd.c pcmk_pacemakerd_api_shutdown(pcmk_ipc_api_t *api, const char *ipc_name)
api               326 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              2408 lib/lrmd/lrmd_client.c lrmd__new(lrmd_t **api, const char *nodename, const char *server, int port)
api              2412 lib/lrmd/lrmd_client.c     if (api == NULL) {
api              2415 lib/lrmd/lrmd_client.c     *api = NULL;
api              2419 lib/lrmd/lrmd_client.c     *api = calloc(1, sizeof(lrmd_t));
api              2420 lib/lrmd/lrmd_client.c     if (*api == NULL) {
api              2426 lib/lrmd/lrmd_client.c         lrmd_api_delete(*api);
api              2427 lib/lrmd/lrmd_client.c         *api = NULL;
api              2430 lib/lrmd/lrmd_client.c     (*api)->lrmd_private = pvt;
api              2435 lib/lrmd/lrmd_client.c     (*api)->cmds = calloc(1, sizeof(lrmd_api_operations_t));
api              2437 lib/lrmd/lrmd_client.c     if ((pvt->remote == NULL) || ((*api)->cmds == NULL)) {
api              2438 lib/lrmd/lrmd_client.c         lrmd_api_delete(*api);
api              2439 lib/lrmd/lrmd_client.c         *api = NULL;
api              2444 lib/lrmd/lrmd_client.c     (*api)->cmds->connect = lrmd_api_connect;
api              2445 lib/lrmd/lrmd_client.c     (*api)->cmds->connect_async = lrmd_api_connect_async;
api              2446 lib/lrmd/lrmd_client.c     (*api)->cmds->is_connected = lrmd_api_is_connected;
api              2447 lib/lrmd/lrmd_client.c     (*api)->cmds->poke_connection = lrmd_api_poke_connection;
api              2448 lib/lrmd/lrmd_client.c     (*api)->cmds->disconnect = lrmd_api_disconnect;
api              2449 lib/lrmd/lrmd_client.c     (*api)->cmds->register_rsc = lrmd_api_register_rsc;
api              2450 lib/lrmd/lrmd_client.c     (*api)->cmds->unregister_rsc = lrmd_api_unregister_rsc;
api              2451 lib/lrmd/lrmd_client.c     (*api)->cmds->get_rsc_info = lrmd_api_get_rsc_info;
api              2452 lib/lrmd/lrmd_client.c     (*api)->cmds->get_recurring_ops = lrmd_api_get_recurring_ops;
api              2453 lib/lrmd/lrmd_client.c     (*api)->cmds->set_callback = lrmd_api_set_callback;
api              2454 lib/lrmd/lrmd_client.c     (*api)->cmds->get_metadata = lrmd_api_get_metadata;
api              2455 lib/lrmd/lrmd_client.c     (*api)->cmds->exec = lrmd_api_exec;
api              2456 lib/lrmd/lrmd_client.c     (*api)->cmds->cancel = lrmd_api_cancel;
api              2457 lib/lrmd/lrmd_client.c     (*api)->cmds->list_agents = lrmd_api_list_agents;
api              2458 lib/lrmd/lrmd_client.c     (*api)->cmds->list_ocf_providers = lrmd_api_list_ocf_providers;
api              2459 lib/lrmd/lrmd_client.c     (*api)->cmds->list_standards = lrmd_api_list_standards;
api              2460 lib/lrmd/lrmd_client.c     (*api)->cmds->exec_alert = lrmd_api_exec_alert;
api              2461 lib/lrmd/lrmd_client.c     (*api)->cmds->get_metadata_params = lrmd_api_get_metadata_params;
api              2476 lib/lrmd/lrmd_client.c             lrmd_api_delete(*api);
api              2477 lib/lrmd/lrmd_client.c             *api = NULL;
api              2487 lib/lrmd/lrmd_client.c         lrmd_api_delete(*api);
api              2488 lib/lrmd/lrmd_client.c         *api = NULL;
api              2498 lib/lrmd/lrmd_client.c     lrmd_t *api = NULL;
api              2500 lib/lrmd/lrmd_client.c     pcmk__assert(lrmd__new(&api, NULL, NULL, 0) == pcmk_rc_ok);
api              2501 lib/lrmd/lrmd_client.c     return api;
api              2507 lib/lrmd/lrmd_client.c     lrmd_t *api = NULL;
api              2509 lib/lrmd/lrmd_client.c     pcmk__assert(lrmd__new(&api, nodename, server, port) == pcmk_rc_ok);
api              2510 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);