1 /* 2 * Copyright (c) 2021-2023 Oracle and/or its affiliates. 3 * 4 * This work is licensed under the terms of the GNU GPL, version 2 or later. 5 * See the COPYING file in the top-level directory. 6 */ 7 8 #ifndef QEMU_MIGRATION_FILE_H 9 #define QEMU_MIGRATION_FILE_H 10 11 #include "qapi/qapi-types-migration.h" 12 #include "io/task.h" 13 #include "channel.h" 14 #include "multifd.h" 15 16 void file_start_incoming_migration(FileMigrationArgs *file_args, Error **errp); 17 18 void file_start_outgoing_migration(MigrationState *s, 19 FileMigrationArgs *file_args, Error **errp); 20 int file_parse_offset(char *filespec, uint64_t *offsetp, Error **errp); 21 void file_cleanup_outgoing_migration(void); 22 bool file_send_channel_create(gpointer opaque, Error **errp); 23 void file_create_incoming_channels(QIOChannel *ioc, Error **errp); 24 int file_write_ramblock_iov(QIOChannel *ioc, const struct iovec *iov, 25 int niov, RAMBlock *block, Error **errp); 26 int multifd_file_recv_data(MultiFDRecvParams *p, Error **errp); 27 #endif 28