Upstream: https://gitlab.com/qemu-project/qemu.git Upstream-Commit: d2e570cc0f97b936902a5b1b86b73c0f5998b475
52 lines
1.6 KiB
C
52 lines
1.6 KiB
C
/*
|
|
* QEMU live migration channel operations
|
|
*
|
|
* Copyright Red Hat, Inc. 2016
|
|
*
|
|
* Authors:
|
|
* Daniel P. Berrange <[email protected]>
|
|
*
|
|
* 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
|