qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

channel.h (964B)


      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 
     16 typedef struct GAChannel GAChannel;
     17 
     18 typedef enum {
     19     GA_CHANNEL_VIRTIO_SERIAL,
     20     GA_CHANNEL_ISA_SERIAL,
     21     GA_CHANNEL_UNIX_LISTEN,
     22     GA_CHANNEL_VSOCK_LISTEN,
     23 } GAChannelMethod;
     24 
     25 typedef gboolean (*GAChannelCallback)(GIOCondition condition, gpointer opaque);
     26 
     27 GAChannel *ga_channel_new(GAChannelMethod method, const gchar *path,
     28                           int listen_fd, GAChannelCallback cb,
     29                           gpointer opaque);
     30 void ga_channel_free(GAChannel *c);
     31 GIOStatus ga_channel_read(GAChannel *c, gchar *buf, gsize size, gsize *count);
     32 GIOStatus ga_channel_write_all(GAChannel *c, const gchar *buf, gsize size);
     33 
     34 #endif