user_syms.c

来自「优龙2410linux2.6.8内核源代码」· C语言 代码 · 共 114 行

C
114
字号
#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <dirent.h>#include <errno.h>#include <utime.h>#include <string.h>#include <sys/stat.h>#include <sys/vfs.h>#include <sys/ioctl.h>#include "user_util.h"#include "mem_user.h"#include "uml-config.h"/* Had to steal this from linux/module.h because that file can't be included * since this includes various user-level headers. */struct module_symbol{	unsigned long value;	const char *name;};/* Indirect stringification.  */#define __MODULE_STRING_1(x)	#x#define __MODULE_STRING(x)	__MODULE_STRING_1(x)#if !defined(__AUTOCONF_INCLUDED__)#define __EXPORT_SYMBOL(sym,str)   error config_must_be_included_before_module#define EXPORT_SYMBOL(var)	   error config_must_be_included_before_module#define EXPORT_SYMBOL_NOVERS(var)  error config_must_be_included_before_module#elif !defined(UML_CONFIG_MODULES)#define __EXPORT_SYMBOL(sym,str)#define EXPORT_SYMBOL(var)#define EXPORT_SYMBOL_NOVERS(var)#else#define __EXPORT_SYMBOL(sym, str)			\const char __kstrtab_##sym[]				\__attribute__((section(".kstrtab"))) = str;		\const struct module_symbol __ksymtab_##sym 		\__attribute__((section("__ksymtab"))) =			\{ (unsigned long)&sym, __kstrtab_##sym }#if defined(__MODVERSIONS__) || !defined(UML_CONFIG_MODVERSIONS)#define EXPORT_SYMBOL(var)  __EXPORT_SYMBOL(var, __MODULE_STRING(var))#else#define EXPORT_SYMBOL(var)  __EXPORT_SYMBOL(var, __MODULE_STRING(__VERSIONED_SYMBOL(var)))#endif#define EXPORT_SYMBOL_NOVERS(var)  __EXPORT_SYMBOL(var, __MODULE_STRING(var))#endifEXPORT_SYMBOL(__errno_location);EXPORT_SYMBOL(access);EXPORT_SYMBOL(open);EXPORT_SYMBOL(open64);EXPORT_SYMBOL(close);EXPORT_SYMBOL(read);EXPORT_SYMBOL(write);EXPORT_SYMBOL(dup2);EXPORT_SYMBOL(__xstat);EXPORT_SYMBOL(__lxstat);EXPORT_SYMBOL(__lxstat64);EXPORT_SYMBOL(lseek);EXPORT_SYMBOL(lseek64);EXPORT_SYMBOL(chown);EXPORT_SYMBOL(truncate);EXPORT_SYMBOL(utime);EXPORT_SYMBOL(chmod);EXPORT_SYMBOL(rename);EXPORT_SYMBOL(__xmknod);EXPORT_SYMBOL(symlink);EXPORT_SYMBOL(link);EXPORT_SYMBOL(unlink);EXPORT_SYMBOL(readlink);EXPORT_SYMBOL(mkdir);EXPORT_SYMBOL(rmdir);EXPORT_SYMBOL(opendir);EXPORT_SYMBOL(readdir);EXPORT_SYMBOL(closedir);EXPORT_SYMBOL(seekdir);EXPORT_SYMBOL(telldir);EXPORT_SYMBOL(ioctl);extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,			__off64_t __offset);extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,			 __off64_t __offset);EXPORT_SYMBOL(pread64);EXPORT_SYMBOL(pwrite64);EXPORT_SYMBOL(statfs);EXPORT_SYMBOL(statfs64);EXPORT_SYMBOL(memcpy);EXPORT_SYMBOL(getuid);EXPORT_SYMBOL(memset);EXPORT_SYMBOL(strstr);EXPORT_SYMBOL(find_iomem);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?