qemu/qga/channel.h
<<
>>
Prefs
   1/*
   2 * QEMU Guest Agent channel declarations
   3 *
   4 * Copyright IBM Corp. 2012
   5 *
   6 * Authors:
   7 *  Michael Roth      <mdroth@linux.vnet.ibm.com>
   8 *
   9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
  10 * See the COPYING file in the top-level directory.
  11 */
  12#ifndef QGA_CHANNEL_H
  13#define QGA_CHANNEL_H
  14
  15
  16typedef struct GAChannel GAChannel;
  17
  18typedef enum {
  19    GA_CHANNEL_VIRTIO_SERIAL,
  20    GA_CHANNEL_ISA_SERIAL,
  21    GA_CHANNEL_UNIX_LISTEN,
  22    GA_CHANNEL_VSOCK_LISTEN,
  23} GAChannelMethod;
  24
  25typedef gboolean (*GAChannelCallback)(GIOCondition condition, gpointer opaque);
  26
  27GAChannel *ga_channel_new(GAChannelMethod method, const gchar *path,
  28                          int listen_fd, GAChannelCallback cb,
  29                          gpointer opaque);
  30void ga_channel_free(GAChannel *c);
  31GIOStatus ga_channel_read(GAChannel *c, gchar *buf, gsize size, gsize *count);
  32GIOStatus ga_channel_write_all(GAChannel *c, const gchar *buf, gsize size);
  33
  34#endif
  35