以下为一些常见用户态函数在内核中的替代,包括头文件和函数声明:
1、动态申请内存:linux/vmalloc.h
void *vmalloc(unsigned long size);
void vfree(const void *addr);
2、字符串操作:linux/string.h
void * memset(void *,int,__kernel_size_t);
void * memcpy(void *,const void *,__kernel_size_t);
int memcmp(const void *,const void *,__kernel_size_t);
char * strcpy(char *,const char *);
char * strstr(const char *, const char *);
int strcmp(const char *,const char *);
__kernel_size_t strlen(const char *);
3、文件操作:linux/fs.h
struct file *filp_open(const char *, int, umode_t);
int filp_close(struct file *, fl_owner_t id);
ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
int vfs_stat(const char __user *, struct kstat *);
上一篇:C标准库常用文件