aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/drivers/cow.h
diff options
context:
space:
mode:
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>2005-10-09 15:37:45 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-10 11:36:00 -0400
commit028c0cc16e429ae24d9b8aacc64f4438bdfac0cc (patch)
tree46f18e2496d5c6a09993923805abbba87c94fced /arch/um/drivers/cow.h
parent855ec613ca7e1953d96d7ea81af90392678788f5 (diff)
[PATCH] uml: cleanup byte order macros for COW driver
After restoring the existing code, make it work also when included in kernelspace code (which isn't currently the case, but at least this will prevent people from "fixing" it as just happened). Whitespace is fixed in next patch - it cluttered the diff too much. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
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 4fcbe8b1b77..c54e20a3d21 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,