xref: /openbmc/qemu/migration/file.h (revision 4921d0a7)
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