| 349 | } |
| 350 | |
| 351 | void execute(vuart_av_thread &vuart, const void *pkt_buf) override { |
| 352 | const auto pkt = static_cast<const ps3av_header *>(pkt_buf); |
| 353 | |
| 354 | if (vuart.get_reply_buf_free_size() < |
| 355 | sizeof(ps3av_pkt_reply_hdr) + sizeof(ps3av_pkt_get_aksv_reply)) { |
| 356 | vuart.write_resp(pkt->cid, PS3AV_STATUS_BUFFER_OVERFLOW); |
| 357 | return; |
| 358 | } |
| 359 | |
| 360 | ps3av_pkt_get_aksv_reply reply{}; |
| 361 | memcpy(reply.ksv_arr[0], PS3AV_AKSV_VALUE, sizeof(PS3AV_AKSV_VALUE)); |
| 362 | |
| 363 | if (g_cfg.core.debug_console_mode) { |
| 364 | memcpy(reply.ksv_arr[1], PS3AV_AKSV_VALUE, sizeof(PS3AV_AKSV_VALUE)); |
| 365 | reply.ksv_size = 2 * sizeof(PS3AV_AKSV_VALUE); |
| 366 | } else { |
| 367 | reply.ksv_size = sizeof(PS3AV_AKSV_VALUE); |
| 368 | } |
| 369 | |
| 370 | vuart.write_resp(pkt->cid, PS3AV_STATUS_SUCCESS, &reply, |
| 371 | sizeof(ps3av_pkt_get_aksv_reply)); |
| 372 | } |
| 373 | }; |
| 374 | |
| 375 | struct video_disable_signal_cmd : public ps3av_cmd { |
nothing calls this directly
no test coverage detected