aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/drivers/cow.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/drivers/cow.h')
-rw-r--r--arch/um/drivers/cow.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/arch/um/drivers/cow.h b/arch/um/drivers/cow.h
index 4fcbe8b1b77e..c54e20a3d21d 100644
--- a/arch/um/drivers/cow.h
+++ b/arch/um/drivers/cow.h
@@ -3,6 +3,26 @@
3 3
4#include <asm/types.h> 4#include <asm/types.h>
5 5
6#if defined(__KERNEL__)
7
8# include <asm/byteorder.h>
9
10# if defined(__BIG_ENDIAN)
11# define ntohll(x) (x)
12# define htonll(x) (x)
13# elif defined(__LITTLE_ENDIAN)
14# define ntohll(x) be64_to_cpu(x)
15# define htonll(x) cpu_to_be64(x)
16# else
17# error "Could not determine byte order"
18# endif
19
20#else
21/* For the definition of ntohl, htonl and __BYTE_ORDER */
22#include <endian.h>
23#include <netinet/in.h>
24#if defined(__BYTE_ORDER)
25
6#if __BYTE_ORDER == __BIG_ENDIAN 26#if __BYTE_ORDER == __BIG_ENDIAN
7# define ntohll(x) (x) 27# define ntohll(x) (x)
8# define htonll(x) (x) 28# define htonll(x) (x)
@@ -10,8 +30,13 @@
10# define ntohll(x) bswap_64(x) 30# define ntohll(x) bswap_64(x)
11# define htonll(x) bswap_64(x) 31# define htonll(x) bswap_64(x)
12#else 32#else
13#error "__BYTE_ORDER not defined" 33# error "Could not determine byte order: __BYTE_ORDER uncorrectly defined"
34#endif
35
36#else /* ! defined(__BYTE_ORDER) */
37# error "Could not determine byte order: __BYTE_ORDER not defined"
14#endif 38#endif
39#endif /* ! defined(__KERNEL__) */
15 40
16extern int init_cow_file(int fd, char *cow_file, char *backing_file, 41extern int init_cow_file(int fd, char *cow_file, char *backing_file,
17 int sectorsize, int alignment, int *bitmap_offset_out, 42 int sectorsize, int alignment, int *bitmap_offset_out,