2012-01-19 14:18:20 +08:00
|
|
|
/*
|
|
|
|
* QEMU Guest Agent channel declarations
|
|
|
|
*
|
|
|
|
* Copyright IBM Corp. 2012
|
|
|
|
*
|
|
|
|
* Authors:
|
|
|
|
* Michael Roth <mdroth@linux.vnet.ibm.com>
|
|
|
|
*
|
|
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
|
|
* See the COPYING file in the top-level directory.
|
|
|
|
*/
|
|
|
|
#ifndef QGA_CHANNEL_H
|
|
|
|
#define QGA_CHANNEL_H
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct GAChannel GAChannel;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
GA_CHANNEL_VIRTIO_SERIAL,
|
|
|
|
GA_CHANNEL_ISA_SERIAL,
|
|
|
|
GA_CHANNEL_UNIX_LISTEN,
|
2016-10-14 17:00:56 +08:00
|
|
|
GA_CHANNEL_VSOCK_LISTEN,
|
2012-01-19 14:18:20 +08:00
|
|
|
} GAChannelMethod;
|
|
|
|
|
|
|
|
typedef gboolean (*GAChannelCallback)(GIOCondition condition, gpointer opaque);
|
|
|
|
|
|
|
|
GAChannel *ga_channel_new(GAChannelMethod method, const gchar *path,
|
2017-01-06 23:29:30 +08:00
|
|
|
int listen_fd, GAChannelCallback cb,
|
|
|
|
gpointer opaque);
|
2012-01-19 14:18:20 +08:00
|
|
|
void ga_channel_free(GAChannel *c);
|
|
|
|
GIOStatus ga_channel_read(GAChannel *c, gchar *buf, gsize size, gsize *count);
|
|
|
|
GIOStatus ga_channel_write_all(GAChannel *c, const gchar *buf, gsize size);
|
|
|
|
|
|
|
|
#endif
|