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