10 #include <sys/ioctl.h>
11 #include "user_util.h"
13 #include "uml-config.h"
15 /* Had to steal this from linux/module.h because that file can't be included
16 * since this includes various user-level headers.
25 /* Indirect stringification. */
27 #define __MODULE_STRING_1(x) #x
28 #define __MODULE_STRING(x) __MODULE_STRING_1(x)
30 #if !defined(__AUTOCONF_INCLUDED__)
32 #define __EXPORT_SYMBOL(sym,str) error config_must_be_included_before_module
33 #define EXPORT_SYMBOL(var) error config_must_be_included_before_module
34 #define EXPORT_SYMBOL_NOVERS(var) error config_must_be_included_before_module
36 #elif !defined(UML_CONFIG_MODULES)
38 #define __EXPORT_SYMBOL(sym,str)
39 #define EXPORT_SYMBOL(var)
40 #define EXPORT_SYMBOL_NOVERS(var)
44 #define __EXPORT_SYMBOL(sym, str) \
45 const char __kstrtab_##sym[] \
46 __attribute__((section(".kstrtab"))) = str; \
47 const struct module_symbol __ksymtab_##sym \
48 __attribute__((section("__ksymtab"))) = \
49 { (unsigned long)&sym, __kstrtab_##sym }
51 #if defined(__MODVERSIONS__) || !defined(UML_CONFIG_MODVERSIONS)
52 #define EXPORT_SYMBOL(var) __EXPORT_SYMBOL(var, __MODULE_STRING(var))
54 #define EXPORT_SYMBOL(var) __EXPORT_SYMBOL(var, __MODULE_STRING(__VERSIONED_SYMBOL(var)))
57 #define EXPORT_SYMBOL_NOVERS(var) __EXPORT_SYMBOL(var, __MODULE_STRING(var))
61 EXPORT_SYMBOL(__errno_location);
63 EXPORT_SYMBOL(access);
65 EXPORT_SYMBOL(open64);
70 EXPORT_SYMBOL(__xstat);
71 EXPORT_SYMBOL(__lxstat);
72 EXPORT_SYMBOL(__lxstat64);
74 EXPORT_SYMBOL(lseek64);
76 EXPORT_SYMBOL(truncate);
79 EXPORT_SYMBOL(rename);
80 EXPORT_SYMBOL(__xmknod);
82 EXPORT_SYMBOL(symlink);
84 EXPORT_SYMBOL(unlink);
85 EXPORT_SYMBOL(readlink);
89 EXPORT_SYMBOL(opendir);
90 EXPORT_SYMBOL(readdir);
91 EXPORT_SYMBOL(closedir);
92 EXPORT_SYMBOL(seekdir);
93 EXPORT_SYMBOL(telldir);
97 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
99 extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
101 EXPORT_SYMBOL(pread64);
102 EXPORT_SYMBOL(pwrite64);
104 EXPORT_SYMBOL(statfs);
105 EXPORT_SYMBOL(statfs64);
107 EXPORT_SYMBOL(memcpy);
108 EXPORT_SYMBOL(getuid);
110 EXPORT_SYMBOL(memset);
111 EXPORT_SYMBOL(strstr);
113 EXPORT_SYMBOL(find_iomem);