xref: /kvmtool/include/kvm/kvm-ipc.h (revision c733c80bbc726fb9481c1af60a510f3e52c57b45)
14b1addaeSSasha Levin #ifndef KVM__IPC_H_
24b1addaeSSasha Levin #define KVM__IPC_H_
34b1addaeSSasha Levin 
44b1addaeSSasha Levin #include <linux/types.h>
54b1addaeSSasha Levin 
64b1addaeSSasha Levin struct kvm_ipc_msg {
74b1addaeSSasha Levin 	u32 type;
84b1addaeSSasha Levin 	u32 len;
94b1addaeSSasha Levin 	u8 data[];
104b1addaeSSasha Levin };
114b1addaeSSasha Levin 
124b1addaeSSasha Levin enum {
134b1addaeSSasha Levin 	KVM_IPC_BALLOON	= 1,
144b1addaeSSasha Levin 	KVM_IPC_DEBUG	= 2,
154b1addaeSSasha Levin 	KVM_IPC_STAT	= 3,
164b1addaeSSasha Levin 	KVM_IPC_PAUSE	= 4,
174b1addaeSSasha Levin 	KVM_IPC_RESUME	= 5,
184b1addaeSSasha Levin 	KVM_IPC_STOP	= 6,
194b1addaeSSasha Levin 	KVM_IPC_PID	= 7,
204b1addaeSSasha Levin };
214b1addaeSSasha Levin 
224b1addaeSSasha Levin int kvm_ipc__register_handler(u32 type, void (*cb)(int fd, u32 type, u32 len, u8 *msg));
234b1addaeSSasha Levin int kvm_ipc__handle(int fd, struct kvm_ipc_msg *msg);
244b1addaeSSasha Levin int kvm_ipc__start(int sock);
25*c733c80bSSasha Levin int kvm_ipc__stop(void);
264b1addaeSSasha Levin 
274b1addaeSSasha Levin #endif
28