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