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
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
|
|
|