| 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 | 31bc5a33 | 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 | ||||