1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __COW_SYS_H__ 3 #define __COW_SYS_H__ 4 5 #include <kern_util.h> 6 #include <os.h> 7 #include <um_malloc.h> 8 9 static inline void *cow_malloc(int size) 10 { 11 return uml_kmalloc(size, UM_GFP_KERNEL); 12 } 13 14 static inline void cow_free(void *ptr) 15 { 16 kfree(ptr); 17 } 18 19 #define cow_printf printk 20 21 static inline char *cow_strdup(char *str) 22 { 23 return uml_strdup(str); 24 } 25 26 static inline int cow_seek_file(int fd, __u64 offset) 27 { 28 return os_seek_file(fd, offset); 29 } 30 31 static inline int cow_file_size(char *file, unsigned long long *size_out) 32 { 33 return os_file_size(file, size_out); 34 } 35 36 static inline int cow_write_file(int fd, void *buf, int size) 37 { 38 return os_write_file(fd, buf, size); 39 } 40 41 #endif 42