Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __COW_SYS_H__ |
2 | #define __COW_SYS_H__ | ||||
3 | |||||
4 | #include "kern_util.h" | ||||
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 5 | #include "os.h" |
Paolo 'Blaisorblade' Giarrusso | c13e569 | 2006-10-19 23:28:20 -0700 | [diff] [blame] | 6 | #include "um_malloc.h" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | |
8 | static inline void *cow_malloc(int size) | ||||
9 | { | ||||
Jeff Dike | 43f5b30 | 2008-05-12 14:01:52 -0700 | [diff] [blame] | 10 | return uml_kmalloc(size, UM_GFP_KERNEL); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 | } |
12 | |||||
13 | static inline void cow_free(void *ptr) | ||||
14 | { | ||||
15 | kfree(ptr); | ||||
16 | } | ||||
17 | |||||
18 | #define cow_printf printk | ||||
19 | |||||
20 | static inline char *cow_strdup(char *str) | ||||
21 | { | ||||
Jeff Dike | dc764e5 | 2007-05-06 14:51:41 -0700 | [diff] [blame] | 22 | return uml_strdup(str); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | } |
24 | |||||
Paolo 'Blaisorblade' Giarrusso | fe1db50 | 2006-02-24 13:03:58 -0800 | [diff] [blame] | 25 | static inline int cow_seek_file(int fd, __u64 offset) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | { |
Jeff Dike | dc764e5 | 2007-05-06 14:51:41 -0700 | [diff] [blame] | 27 | return os_seek_file(fd, offset); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 28 | } |
29 | |||||
Paolo 'Blaisorblade' Giarrusso | 52c7378 | 2006-04-10 22:53:41 -0700 | [diff] [blame] | 30 | static inline int cow_file_size(char *file, unsigned long long *size_out) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | { |
Jeff Dike | dc764e5 | 2007-05-06 14:51:41 -0700 | [diff] [blame] | 32 | return os_file_size(file, size_out); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | } |
34 | |||||
Paolo 'Blaisorblade' Giarrusso | 31bc5a3 | 2006-02-24 13:03:53 -0800 | [diff] [blame] | 35 | static inline int cow_write_file(int fd, void *buf, int size) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | { |
Jeff Dike | a6ea4cc | 2007-05-06 14:51:43 -0700 | [diff] [blame] | 37 | return os_write_file(fd, buf, size); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 38 | } |
39 | |||||
40 | #endif |