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 
cow_malloc(int size)9 static inline void *cow_malloc(int size)
10 {
11 	return uml_kmalloc(size, UM_GFP_KERNEL);
12 }
13 
cow_free(void * ptr)14 static inline void cow_free(void *ptr)
15 {
16 	kfree(ptr);
17 }
18 
19 #define cow_printf printk
20 
cow_strdup(char * str)21 static inline char *cow_strdup(char *str)
22 {
23 	return uml_strdup(str);
24 }
25 
cow_seek_file(int fd,__u64 offset)26 static inline int cow_seek_file(int fd, __u64 offset)
27 {
28 	return os_seek_file(fd, offset);
29 }
30 
cow_file_size(char * file,unsigned long long * size_out)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 
cow_write_file(int fd,void * buf,int size)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