2026-06-20 21:21:20 +03:00
|
|
|
#ifndef VMSIG_VMHOST_H
|
|
|
|
|
#define VMSIG_VMHOST_H
|
|
|
|
|
|
|
|
|
|
/* Private config of the vmhost adapter (signaling's own QMP client).
|
|
|
|
|
* cfg==NULL or no qmp_path => stub mode (synthetic events, no QEMU).
|
|
|
|
|
* qmp_path given => armed: connect to QEMU's QMP socket ('@' prefix = abstract).
|
|
|
|
|
* No build flag needed — the client depends only on POSIX and its own code. */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int stub;
|
|
|
|
|
const char* qmp_path;
|
2026-06-24 16:31:23 +03:00
|
|
|
/* Host->guest input bridge: evdev node paths of the uinput devices (published by the input
|
|
|
|
|
* seam). When non-NULL/non-empty, on reaching READY the seam adds an input-linux QMP object
|
2026-06-24 17:14:15 +03:00
|
|
|
* forwarding them into the guest (A=keyboard with grab_all, B=relative mouse). NULL/"" => no bridge
|
2026-06-24 16:31:23 +03:00
|
|
|
* (stub/tests are fail-closed). Pointers are borrowed from the stable per-endpoint home and
|
|
|
|
|
* outlive the adapter. */
|
|
|
|
|
const char* bridge_evdev_a;
|
|
|
|
|
const char* bridge_evdev_b;
|
2026-06-20 21:21:20 +03:00
|
|
|
} vmsig_vmhost_cfg;
|
|
|
|
|
|
|
|
|
|
#endif /* VMSIG_VMHOST_H */
|