| 484 | } |
| 485 | |
| 486 | cs_error_t |
| 487 | corosync_cfg_trackstop ( |
| 488 | corosync_cfg_handle_t cfg_handle) |
| 489 | { |
| 490 | struct cfg_inst *cfg_inst; |
| 491 | struct req_lib_cfg_trackstop req_lib_cfg_trackstop; |
| 492 | struct res_lib_cfg_trackstop res_lib_cfg_trackstop; |
| 493 | cs_error_t error; |
| 494 | struct iovec iov; |
| 495 | |
| 496 | error = hdb_error_to_cs (hdb_handle_get (&cfg_hdb, cfg_handle, |
| 497 | (void *)&cfg_inst)); |
| 498 | if (error != CS_OK) { |
| 499 | return (error); |
| 500 | } |
| 501 | |
| 502 | req_lib_cfg_trackstop.header.size = sizeof (struct req_lib_cfg_trackstop); |
| 503 | req_lib_cfg_trackstop.header.id = MESSAGE_REQ_CFG_TRACKSTOP; |
| 504 | |
| 505 | iov.iov_base = (void *)&req_lib_cfg_trackstop, |
| 506 | iov.iov_len = sizeof (struct req_lib_cfg_trackstop), |
| 507 | |
| 508 | error = qb_to_cs_error (qb_ipcc_sendv_recv (cfg_inst->c, |
| 509 | &iov, |
| 510 | 1, |
| 511 | &res_lib_cfg_trackstop, |
| 512 | sizeof (struct res_lib_cfg_trackstop), CS_IPC_TIMEOUT_MS)); |
| 513 | |
| 514 | (void)hdb_handle_put (&cfg_hdb, cfg_handle); |
| 515 | |
| 516 | return (error == CS_OK ? res_lib_cfg_trackstop.header.error : error); |
| 517 | } |
| 518 | |
| 519 | cs_error_t |
| 520 | corosync_cfg_kill_node ( |