QEMU main repository: Please see https://www.qemu.org/docs/master/devel/submitting-a-patch.html for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website. http://www.qemu.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

51 lines
1.6 KiB

/*
* QEMU live migration channel operations
*
* Copyright Red Hat, Inc. 2016
*
* Authors:
* Daniel P. Berrange <berrange@redhat.com>
*
* This work is licensed under the terms of the GNU GPL, version 2. See
* the COPYING file in the top-level directory.
*
* Contributions after 2012-01-13 are licensed under the terms of the
* GNU GPL, version 2 or (at your option) any later version.
*/
#ifndef QEMU_MIGRATION_CHANNEL_H
#define QEMU_MIGRATION_CHANNEL_H
#include "io/channel.h"
#include "qapi/qapi-types-migration.h"
/* Migration channel types */
typedef enum {
CH_NONE,
CH_MAIN,
CH_MULTIFD,
CH_POSTCOPY
} MigChannelType;
void migration_channel_process_incoming(QIOChannel *ioc);
void migration_channel_connect_outgoing(MigrationState *s, QIOChannel *ioc);
int migration_channel_read_peek(QIOChannel *ioc,
const char *buf,
const size_t buflen,
Error **errp);
bool migration_has_main_and_multifd_channels(void);
bool migration_has_all_channels(void);
void migration_connect_outgoing(MigrationState *s, MigrationAddress *addr,
Error **errp);
void migration_connect_incoming(MigrationAddress *addr, Error **errp);
bool migration_channel_parse_input(const char *uri,
MigrationChannelList *channels,
MigrationChannel **main_channelp,
MigrationChannel **cpr_channelp,
Error **errp);
#endif