mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
This introduces a new event type
VIR_DOMAIN_EVENT_ID_WATCHDOG
This event includes the action that is about to be taken
as a result of the watchdog triggering
typedef enum {
VIR_DOMAIN_EVENT_WATCHDOG_NONE = 0,
VIR_DOMAIN_EVENT_WATCHDOG_PAUSE,
VIR_DOMAIN_EVENT_WATCHDOG_RESET,
VIR_DOMAIN_EVENT_WATCHDOG_POWEROFF,
VIR_DOMAIN_EVENT_WATCHDOG_SHUTDOWN,
VIR_DOMAIN_EVENT_WATCHDOG_DEBUG,
} virDomainEventWatchdogAction;
Thus there is a new callback definition for this event type
typedef void (*virConnectDomainEventWatchdogCallback)(virConnectPtr conn,
virDomainPtr dom,
int action,
void *opaque);
* daemon/remote.c: Dispatch watchdog events to client
* examples/domain-events/events-c/event-test.c: Watch for
watchdog events
* include/libvirt/libvirt.h.in: Define new watchdg event ID
and callback signature
* src/conf/domain_event.c, src/conf/domain_event.h,
src/libvirt_private.syms: Extend API to handle watchdog events
* src/qemu/qemu_driver.c: Connect to the QEMU monitor event
for watchdogs and emit a libvirt watchdog event
* src/remote/remote_driver.c: Receive and dispatch watchdog
events to application
* src/remote/remote_protocol.x: Wire protocol definition for
watchdog events
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
src/qemu/qemu_monitor_json.c: Watch for WATCHDOG event
from QEMU monitor
libvirt Python Bindings README
==============================
Most of the libvirt python binding code is automatically generated
using the script generator.py, and the API description from
docs/libvirt-api.xml
Manually written files:
- libvirt-override.c: methods where the C binding needs to be hand crafted
- libvirt-override.py: global methods where the C and python bindings have different args
- libvirt-override-api.xml: methods where the auto-extracted API docs are not
suitable for python auto-generator. Overriding this if the method is going
into libvirt-override.c, but we still want auto-generated libvirt-override.py
- libvirt-override-virConnect.py: virConnect class methods
- typewrappers.h,.c: Python object wrappers for each libvirt C object
Auto-generated files:
- libvirt.py: The main python binding. Comprises auto-generated code, along
with contents from libvirt-override.py and libvirt-override-virConnect.py
- libvirt.c, libvirt.h: The C glue layer for the python binding. Comprises
auto-generated code, along with libvirt-override.c
- libvirt-export.c: List of auto-generated C methods, included into
the libvirt-override.c method table