| 482 | } |
| 483 | |
| 484 | static bool runtime_activation_response_decode( |
| 485 | const uint8_t payload[CBM_DAEMON_ACTIVATION_SHUTDOWN_RESPONSE_SIZE], |
| 486 | cbm_daemon_runtime_activation_result_t *result_out) { |
| 487 | if (!payload || !result_out || |
| 488 | runtime_get_u32(payload + ACTIVATION_RESPONSE_ABI_OFFSET) != CBM_DAEMON_RENDEZVOUS_ABI) { |
| 489 | return false; |
| 490 | } |
| 491 | uint32_t accepted = runtime_get_u32(payload + ACTIVATION_RESPONSE_ACCEPTED_OFFSET); |
| 492 | if (accepted > 1U) { |
| 493 | return false; |
| 494 | } |
| 495 | result_out->accepted = accepted == 1U; |
| 496 | result_out->active_clients = runtime_get_u64(payload + ACTIVATION_RESPONSE_CLIENTS_OFFSET); |
| 497 | result_out->active_connections = |
| 498 | runtime_get_u64(payload + ACTIVATION_RESPONSE_CONNECTIONS_OFFSET); |
| 499 | return true; |
| 500 | } |
| 501 | |
| 502 | static uint64_t runtime_current_process_id(void) { |
| 503 | #ifdef _WIN32 |
no test coverage detected