xref: /openbmc/qemu/qga/guest-agent-core.h (revision 39097daf)
113a286d5SMichael Roth /*
213a286d5SMichael Roth  * QEMU Guest Agent core declarations
313a286d5SMichael Roth  *
413a286d5SMichael Roth  * Copyright IBM Corp. 2011
513a286d5SMichael Roth  *
613a286d5SMichael Roth  * Authors:
713a286d5SMichael Roth  *  Adam Litke        <aglitke@linux.vnet.ibm.com>
813a286d5SMichael Roth  *  Michael Roth      <mdroth@linux.vnet.ibm.com>
913a286d5SMichael Roth  *
1013a286d5SMichael Roth  * This work is licensed under the terms of the GNU GPL, version 2 or later.
1113a286d5SMichael Roth  * See the COPYING file in the top-level directory.
1213a286d5SMichael Roth  */
137b1b5d19SPaolo Bonzini #include "qapi/qmp/dispatch.h"
1413a286d5SMichael Roth #include "qemu-common.h"
1513a286d5SMichael Roth 
16125b310eSMichael Roth #define QGA_READ_COUNT_DEFAULT 4096
1713a286d5SMichael Roth 
1848ff7a62SMichael Roth typedef struct GAState GAState;
1913a286d5SMichael Roth typedef struct GACommandState GACommandState;
203cf0bed8SMichael Roth extern GAState *ga_state;
2113a286d5SMichael Roth 
22e3d4d252SMichael Roth void ga_command_state_init(GAState *s, GACommandState *cs);
2313a286d5SMichael Roth void ga_command_state_add(GACommandState *cs,
2413a286d5SMichael Roth                           void (*init)(void),
2513a286d5SMichael Roth                           void (*cleanup)(void));
2613a286d5SMichael Roth void ga_command_state_init_all(GACommandState *cs);
2713a286d5SMichael Roth void ga_command_state_cleanup_all(GACommandState *cs);
2813a286d5SMichael Roth GACommandState *ga_command_state_new(void);
2948ff7a62SMichael Roth bool ga_logging_enabled(GAState *s);
3048ff7a62SMichael Roth void ga_disable_logging(GAState *s);
3148ff7a62SMichael Roth void ga_enable_logging(GAState *s);
3242074a9dSMichael Roth void slog(const gchar *fmt, ...);
333cf0bed8SMichael Roth void ga_set_response_delimited(GAState *s);
34f22d85e9SMichael Roth bool ga_is_frozen(GAState *s);
35f22d85e9SMichael Roth void ga_set_frozen(GAState *s);
36f22d85e9SMichael Roth void ga_unset_frozen(GAState *s);
37ec0f694cSTomoki Sekiyama const char *ga_fsfreeze_hook(GAState *s);
38*39097dafSMichael Roth int64_t ga_get_fd_handle(GAState *s, Error **errp);
3904b4e75fSLuiz Capitulino 
4004b4e75fSLuiz Capitulino #ifndef _WIN32
4104b4e75fSLuiz Capitulino void reopen_fd_to_null(int fd);
4204b4e75fSLuiz Capitulino #endif
43