diff --git a/dll/wrap.cpp b/dll/wrap.cpp
new file mode 100644
index 00000000..76dfc301
--- /dev/null
+++ b/dll/wrap.cpp
@@ -0,0 +1,200 @@
+/* Copyright (C) 2019 Mr Goldberg
+ This file is part of the Goldberg Emulator
+
+ The Goldberg Emulator is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ The Goldberg Emulator is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the Goldberg Emulator; if not, see
+ . */
+
+#include "dll.h"
+
+#ifdef STEAM_WIN32
+// Nothing to be done here
+#else
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+STEAMAPI_API FILE *__wrap_freopen(const char *pathname, const char *mode, FILE *stream)
+{
+ return freopen(pathname, mode, stream);
+}
+
+STEAMAPI_API FILE *__wrap_fopen(const char *filename, const char *mode)
+{
+ return fopen(filename, mode);
+}
+
+STEAMAPI_API FILE *__wrap_fopen64(const char *filename, const char *mode)
+{
+ return fopen64(filename, mode);
+}
+
+STEAMAPI_API int __wrap_open(const char *pathname, int flags, mode_t mode)
+{
+ return open(pathname, flags, mode);
+}
+
+STEAMAPI_API int __wrap_open64(const char *pathname, int flags, mode_t mode)
+{
+ return open64(pathname, flags, mode);
+}
+
+STEAMAPI_API int __wrap_access(const char *pathname, int mode)
+{
+ return access(pathname, mode);
+}
+
+STEAMAPI_API int __wrap___xstat(int ver, const char * path, struct stat * stat_buf)
+{
+ return __xstat(ver, path, stat_buf);
+}
+
+STEAMAPI_API int __wrap_stat(const char * path, struct stat * stat_buf)
+{
+ return __wrap___xstat(3, path, stat_buf);
+}
+
+STEAMAPI_API int __wrap___lxstat(int ver, const char * path, struct stat * stat_buf)
+{
+ return __lxstat(ver, path, stat_buf);
+}
+
+STEAMAPI_API int __wrap_lstat(const char * path, struct stat * stat_buf)
+{
+ return __wrap___lxstat(3, path, stat_buf);
+}
+
+STEAMAPI_API int __wrap_scandir(const char *dir, struct dirent ***namelist, int (*sel)(const struct dirent *), int (*compar)(const struct dirent **, const struct dirent **))
+{
+ return scandir(dir, namelist, sel, compar);
+}
+
+STEAMAPI_API int __wrap_scandir64(const char *dir, struct dirent64 ***namelist, int (*sel)(const struct dirent64 *), int (*compar)(const struct dirent64 **, const struct dirent64 **))
+{
+ return scandir64(dir, namelist, sel, compar);
+}
+
+STEAMAPI_API DIR *__wrap_opendir(const char *name)
+{
+ return opendir(name);
+}
+
+STEAMAPI_API int __wrap___xstat64(int vers, const char *name, struct stat64 *buf)
+{
+ return __xstat64(vers, name, buf);
+}
+
+STEAMAPI_API int __wrap___lxstat64(int vers, const char *name, struct stat64 *buf)
+{
+ return __lxstat64(vers, name, buf);
+}
+
+STEAMAPI_API int __wrap_statvfs(const char *path, struct statvfs *buf)
+{
+ return statvfs(path, buf);
+}
+
+STEAMAPI_API int __wrap_statvfs64(const char *path, struct statvfs64 *buf)
+{
+ return statvfs64(path, buf);
+}
+
+STEAMAPI_API int __wrap_chmod(const char *pathname, mode_t mode)
+{
+ return chmod(pathname, mode);
+}
+
+STEAMAPI_API int __wrap_chown(const char *path, uid_t owner, gid_t group)
+{
+ return chown(path, owner, group);
+}
+
+STEAMAPI_API int __wrap_lchown(const char *path, uid_t owner, gid_t group)
+{
+ return lchown(path, owner, group);
+}
+
+STEAMAPI_API int __wrap_symlink(const char *path1, const char *path2)
+{
+ return symlink(path1, path2);
+}
+
+STEAMAPI_API int __wrap_link(const char *path1, const char *path2)
+{
+ return link(path1, path2);
+}
+
+STEAMAPI_API int __wrap_mknod(const char *path, mode_t mode, dev_t dev)
+{
+ return __xmknod(1, path, mode, &dev);
+}
+
+STEAMAPI_API int __wrap_mount(const char *source, const char *target, const char *filesystemtype, unsigned long mountflags, const void *data)
+{
+ return mount(source, target, filesystemtype, mountflags, data);
+}
+
+STEAMAPI_API int __wrap_unlink(const char *path)
+{
+ return unlink(path);
+}
+
+STEAMAPI_API int __wrap_mkfifo(const char *path, mode_t mode)
+{
+ return mkfifo(path, mode);
+}
+
+STEAMAPI_API int __wrap_rename(const char *old_name, const char *new_name)
+{
+ return rename(old_name, new_name);
+}
+
+STEAMAPI_API int __wrap_utime(const char *path, const struct utimbuf *times)
+{
+ return utime(path, times);
+}
+
+STEAMAPI_API int __wrap_utimes(const char *path, const struct timeval times[2])
+{
+ return utimes(path, times);
+}
+
+STEAMAPI_API int __wrap_mkdir(const char *path, mode_t mode)
+{
+ return mkdir(path, mode);
+}
+
+STEAMAPI_API int __wrap_rmdir(const char *path)
+{
+ return rmdir(path);
+}
+
+STEAMAPI_API void * __wrap_dlopen(const char *file, int mode)
+{
+ return dlopen(file, mode);
+}
+
+STEAMAPI_API void * __wrap_dlmopen(Lmid_t lmid, const char *filename, int flags)
+{
+ return dlmopen(lmid, filename, flags);
+}
+
+#endif
\ No newline at end of file