]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef __COW_H__ |
2 | #define __COW_H__ | |
3 | ||
4 | #include <asm/types.h> | |
5 | ||
6 | #if __BYTE_ORDER == __BIG_ENDIAN | |
7 | # define ntohll(x) (x) | |
8 | # define htonll(x) (x) | |
9 | #elif __BYTE_ORDER == __LITTLE_ENDIAN | |
10 | # define ntohll(x) bswap_64(x) | |
11 | # define htonll(x) bswap_64(x) | |
12 | #else | |
13 | #error "__BYTE_ORDER not defined" | |
14 | #endif | |
15 | ||
16 | extern int init_cow_file(int fd, char *cow_file, char *backing_file, | |
17 | int sectorsize, int alignment, int *bitmap_offset_out, | |
18 | unsigned long *bitmap_len_out, int *data_offset_out); | |
19 | ||
20 | extern int file_reader(__u64 offset, char *buf, int len, void *arg); | |
21 | extern int read_cow_header(int (*reader)(__u64, char *, int, void *), | |
22 | void *arg, __u32 *version_out, | |
23 | char **backing_file_out, time_t *mtime_out, | |
24 | unsigned long long *size_out, int *sectorsize_out, | |
25 | __u32 *align_out, int *bitmap_offset_out); | |
26 | ||
27 | extern int write_cow_header(char *cow_file, int fd, char *backing_file, | |
28 | int sectorsize, int alignment, | |
29 | unsigned long long *size); | |
30 | ||
31 | extern void cow_sizes(int version, __u64 size, int sectorsize, int align, | |
32 | int bitmap_offset, unsigned long *bitmap_len_out, | |
33 | int *data_offset_out); | |
34 | ||
35 | #endif | |
36 | ||
37 | /* | |
38 | * --------------------------------------------------------------------------- | |
39 | * Local variables: | |
40 | * c-file-style: "linux" | |
41 | * End: | |
42 | */ |