xref: /openbmc/qemu/migration/file.h (revision becd69449791c747100d57dfba24e19be82cff39)
12a9e2e59SSteve Sistare /*
22a9e2e59SSteve Sistare  * Copyright (c) 2021-2023 Oracle and/or its affiliates.
32a9e2e59SSteve Sistare  *
42a9e2e59SSteve Sistare  * This work is licensed under the terms of the GNU GPL, version 2 or later.
52a9e2e59SSteve Sistare  * See the COPYING file in the top-level directory.
62a9e2e59SSteve Sistare  */
72a9e2e59SSteve Sistare 
82a9e2e59SSteve Sistare #ifndef QEMU_MIGRATION_FILE_H
92a9e2e59SSteve Sistare #define QEMU_MIGRATION_FILE_H
102a9e2e59SSteve Sistare 
1102afba63SFabiano Rosas #include "qapi/qapi-types-migration.h"
12b7b03eb6SFabiano Rosas #include "io/task.h"
13b7b03eb6SFabiano Rosas #include "channel.h"
14a49d15a3SFabiano Rosas #include "multifd.h"
1502afba63SFabiano Rosas 
1602afba63SFabiano Rosas void file_start_incoming_migration(FileMigrationArgs *file_args, Error **errp);
1702afba63SFabiano Rosas 
1802afba63SFabiano Rosas void file_start_outgoing_migration(MigrationState *s,
1902afba63SFabiano Rosas                                    FileMigrationArgs *file_args, Error **errp);
2072a8192eSHet Gala int file_parse_offset(char *filespec, uint64_t *offsetp, Error **errp);
21b7b03eb6SFabiano Rosas void file_cleanup_outgoing_migration(void);
22b7b03eb6SFabiano Rosas bool file_send_channel_create(gpointer opaque, Error **errp);
23f427d90bSFabiano Rosas int file_write_ramblock_iov(QIOChannel *ioc, const struct iovec *iov,
24*112f7d1bSFabiano Rosas                             int niov, MultiFDPages_t *pages, Error **errp);
25a49d15a3SFabiano Rosas int multifd_file_recv_data(MultiFDRecvParams *p, Error **errp);
262a9e2e59SSteve Sistare #endif
27