^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __COW_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __COW_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <asm/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) extern int init_cow_file(int fd, char *cow_file, char *backing_file,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) int sectorsize, int alignment, int *bitmap_offset_out,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) unsigned long *bitmap_len_out, int *data_offset_out);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) extern int file_reader(__u64 offset, char *buf, int len, void *arg);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) extern int read_cow_header(int (*reader)(__u64, char *, int, void *),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) void *arg, __u32 *version_out,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) char **backing_file_out, long long *mtime_out,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) unsigned long long *size_out, int *sectorsize_out,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) __u32 *align_out, int *bitmap_offset_out);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) extern int write_cow_header(char *cow_file, int fd, char *backing_file,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) int sectorsize, int alignment,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) unsigned long long *size);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) extern void cow_sizes(int version, __u64 size, int sectorsize, int align,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) int bitmap_offset, unsigned long *bitmap_len_out,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) int *data_offset_out);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) * ---------------------------------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) * Local variables:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * c-file-style: "linux"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) * End:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) */