]> git.proxmox.com Git - mirror_qemu.git/blobdiff - qga/guest-agent-core.h
Merge tag 'pull-maintainer-may24-160524-2' of https://gitlab.com/stsquad/qemu into...
[mirror_qemu.git] / qga / guest-agent-core.h
index e42b91d3647b6b85e32b0eb9f831a863844467ba..b4e7c52c611f74ee69a98ac82950812acf0ba477 100644 (file)
  * This work is licensed under the terms of the GNU GPL, version 2 or later.
  * See the COPYING file in the top-level directory.
  */
-#include "qapi/qmp-core.h"
-#include "qemu-common.h"
+#ifndef GUEST_AGENT_CORE_H
+#define GUEST_AGENT_CORE_H
 
-#define QGA_VERSION "1.0"
-#define QGA_READ_COUNT_DEFAULT 4 << 10
+#include "qapi/qmp/dispatch.h"
+#include "qga-qapi-types.h"
+
+#define QGA_READ_COUNT_DEFAULT 4096
 
 typedef struct GAState GAState;
 typedef struct GACommandState GACommandState;
 
+extern GAState *ga_state;
+extern QmpCommandList ga_commands;
+
+GList *ga_command_init_blockedrpcs(GList *blockedrpcs);
 void ga_command_state_init(GAState *s, GACommandState *cs);
 void ga_command_state_add(GACommandState *cs,
                           void (*init)(void),
@@ -26,6 +32,21 @@ void ga_command_state_add(GACommandState *cs,
 void ga_command_state_init_all(GACommandState *cs);
 void ga_command_state_cleanup_all(GACommandState *cs);
 GACommandState *ga_command_state_new(void);
+void ga_command_state_free(GACommandState *cs);
 bool ga_logging_enabled(GAState *s);
 void ga_disable_logging(GAState *s);
 void ga_enable_logging(GAState *s);
+void G_GNUC_PRINTF(1, 2) slog(const gchar *fmt, ...);
+void ga_set_response_delimited(GAState *s);
+bool ga_is_frozen(GAState *s);
+void ga_set_frozen(GAState *s);
+void ga_unset_frozen(GAState *s);
+const char *ga_fsfreeze_hook(GAState *s);
+int64_t ga_get_fd_handle(GAState *s, Error **errp);
+int ga_parse_whence(GuestFileWhence *whence, Error **errp);
+
+#ifndef _WIN32
+void reopen_fd_to_null(int fd);
+#endif
+
+#endif /* GUEST_AGENT_CORE_H */