diff options
Diffstat (limited to 'source4/smbwrapper/wrapped.c')
-rw-r--r-- | source4/smbwrapper/wrapped.c | 705 |
1 files changed, 0 insertions, 705 deletions
diff --git a/source4/smbwrapper/wrapped.c b/source4/smbwrapper/wrapped.c deleted file mode 100644 index 338ee0d5b1..0000000000 --- a/source4/smbwrapper/wrapped.c +++ /dev/null @@ -1,705 +0,0 @@ -/* - Unix SMB/CIFS implementation. - SMB wrapper functions - Copyright (C) Andrew Tridgell 1998 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* NOTE: This file WILL produce compiler warnings. They are unavoidable - - Do not try and get rid of them by including other include files or - by including includes.h or proto.h or you will break portability. - */ - -#include "config.h" -#include <sys/types.h> -#include <errno.h> -#include "realcalls.h" - -#ifndef NULL -# define NULL ((void *)0) -#endif - - int open(char *name, int flags, mode_t mode) -{ - if (smbw_path(name)) { - return smbw_open(name, flags, mode); - } - - return real_open(name, flags, mode); -} - -#ifdef HAVE__OPEN - int _open(char *name, int flags, mode_t mode) -{ - return open(name, flags, mode); -} -#elif HAVE___OPEN - int __open(char *name, int flags, mode_t mode) -{ - return open(name, flags, mode); -} -#endif - - -#ifdef HAVE_OPEN64 - int open64(char *name, int flags, mode_t mode) -{ - if (smbw_path(name)) { - return smbw_open(name, flags, mode); - } - - return real_open64(name, flags, mode); -} -#endif - -#ifndef NO_OPEN64_ALIAS -#ifdef HAVE__OPEN64 - int _open64(char *name, int flags, mode_t mode) -{ - return open64(name, flags, mode); -} -#elif HAVE___OPEN64 - int __open64(char *name, int flags, mode_t mode) -{ - return open64(name, flags, mode); -} -#endif -#endif - -#ifdef HAVE_PREAD - ssize_t pread(int fd, void *buf, size_t size, off_t ofs) -{ - if (smbw_fd(fd)) { - return smbw_pread(fd, buf, size, ofs); - } - - return real_pread(fd, buf, size, ofs); -} -#endif - -#if defined(HAVE_PREAD64) && defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) - ssize_t pread64(int fd, void *buf, size_t size, off64_t ofs) -{ - if (smbw_fd(fd)) { - return smbw_pread(fd, buf, size, ofs); - } - - return real_pread64(fd, buf, size, ofs); -} -#endif - -#ifdef HAVE_PWRITE - ssize_t pwrite(int fd, void *buf, size_t size, off_t ofs) -{ - if (smbw_fd(fd)) { - return smbw_pwrite(fd, buf, size, ofs); - } - - return real_pwrite(fd, buf, size, ofs); -} -#endif - -#if defined(HAVE_PWRITE64) && defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) - ssize_t pwrite64(int fd, void *buf, size_t size, off64_t ofs) -{ - if (smbw_fd(fd)) { - return smbw_pwrite(fd, buf, size, ofs); - } - - return real_pwrite64(fd, buf, size, ofs); -} -#endif - - - int chdir(char *name) -{ - return smbw_chdir(name); -} - -#ifdef HAVE___CHDIR - int __chdir(char *name) -{ - return chdir(name); -} -#elif HAVE__CHDIR - int _chdir(char *name) -{ - return chdir(name); -} -#endif - - - int close(int fd) -{ - if (smbw_fd(fd)) { - return smbw_close(fd); - } - if (smbw_local_fd(fd)) { - errno = EBADF; - return -1; - } - - return real_close(fd); -} - -#ifdef HAVE___CLOSE - int __close(int fd) -{ - return close(fd); -} -#elif HAVE__CLOSE - int _close(int fd) -{ - return close(fd); -} -#endif - - - int fchdir(int fd) -{ - return smbw_fchdir(fd); -} - -#ifdef HAVE___FCHDIR - int __fchdir(int fd) -{ - return fchdir(fd); -} -#elif HAVE__FCHDIR - int _fchdir(int fd) -{ - return fchdir(fd); -} -#endif - - - int fcntl(int fd, int cmd, long arg) -{ - if (smbw_fd(fd)) { - return smbw_fcntl(fd, cmd, arg); - } - - return real_fcntl(fd, cmd, arg); -} - - -#ifdef HAVE___FCNTL - int __fcntl(int fd, int cmd, long arg) -{ - return fcntl(fd, cmd, arg); -} -#elif HAVE__FCNTL - int _fcntl(int fd, int cmd, long arg) -{ - return fcntl(fd, cmd, arg); -} -#endif - - - -#ifdef real_getdents - int getdents(int fd, void *dirp, unsigned int count) -{ - if (smbw_fd(fd)) { - return smbw_getdents(fd, dirp, count); - } - - return real_getdents(fd, dirp, count); -} -#endif - -#ifdef HAVE___GETDENTS - int __getdents(int fd, void *dirp, unsigned int count) -{ - return getdents(fd, dirp, count); -} -#elif HAVE__GETDENTS - int _getdents(int fd, void *dirp, unsigned int count) -{ - return getdents(fd, dirp, count); -} -#endif - - - off_t lseek(int fd, off_t offset, int whence) -{ - if (smbw_fd(fd)) { - return smbw_lseek(fd, offset, whence); - } - - return real_lseek(fd, offset, whence); -} - -#ifdef HAVE___LSEEK - off_t __lseek(int fd, off_t offset, int whence) -{ - return lseek(fd, offset, whence); -} -#elif HAVE__LSEEK - off_t _lseek(int fd, off_t offset, int whence) -{ - return lseek(fd, offset, whence); -} -#endif - - - ssize_t read(int fd, void *buf, size_t count) -{ - if (smbw_fd(fd)) { - return smbw_read(fd, buf, count); - } - - return real_read(fd, buf, count); -} - -#ifdef HAVE___READ - ssize_t __read(int fd, void *buf, size_t count) -{ - return read(fd, buf, count); -} -#elif HAVE__READ - ssize_t _read(int fd, void *buf, size_t count) -{ - return read(fd, buf, count); -} -#endif - - - ssize_t write(int fd, void *buf, size_t count) -{ - if (smbw_fd(fd)) { - return smbw_write(fd, buf, count); - } - - return real_write(fd, buf, count); -} - -#ifdef HAVE___WRITE - ssize_t __write(int fd, void *buf, size_t count) -{ - return write(fd, buf, count); -} -#elif HAVE__WRITE - ssize_t _write(int fd, void *buf, size_t count) -{ - return write(fd, buf, count); -} -#endif - - - - int access(char *name, int mode) -{ - if (smbw_path(name)) { - return smbw_access(name, mode); - } - - return real_access(name, mode); -} - - - - int chmod(char *name,mode_t mode) -{ - if (smbw_path(name)) { - return smbw_chmod(name, mode); - } - - return real_chmod(name, mode); -} - - - - int chown(char *name,uid_t owner, gid_t group) -{ - if (smbw_path(name)) { - return smbw_chown(name, owner, group); - } - - return real_chown(name, owner, group); -} - - - char *getcwd(char *buf, size_t size) -{ - return (char *)smbw_getcwd(buf, size); -} - - - - - int mkdir(char *name, mode_t mode) -{ - if (smbw_path(name)) { - return smbw_mkdir(name, mode); - } - - return real_mkdir(name, mode); -} - - -#if HAVE___FXSTAT - int __fxstat(int vers, int fd, void *st) -{ - double xx[32]; - int ret; - - if (smbw_fd(fd)) { - return smbw_fstat(fd, st); - } - - ret = real_fstat(fd, xx); - xstat_convert(vers, st, xx); - return ret; -} -#endif - -#if HAVE___XSTAT - int __xstat(int vers, char *name, void *st) -{ - double xx[32]; - int ret; - - if (smbw_path(name)) { - return smbw_stat(name, st); - } - - ret = real_stat(name, xx); - xstat_convert(vers, st, xx); - return ret; -} -#endif - - -#if HAVE___LXSTAT - int __lxstat(int vers, char *name, void *st) -{ - double xx[32]; - int ret; - - if (smbw_path(name)) { - return smbw_stat(name, st); - } - - ret = real_lstat(name, xx); - xstat_convert(vers, st, xx); - return ret; -} -#endif - - - int stat(char *name, void *st) -{ -#if HAVE___XSTAT - return __xstat(0, name, st); -#else - if (smbw_path(name)) { - return smbw_stat(name, st); - } - return real_stat(name, st); -#endif -} - - int lstat(char *name, void *st) -{ -#if HAVE___LXSTAT - return __lxstat(0, name, st); -#else - if (smbw_path(name)) { - return smbw_stat(name, st); - } - return real_lstat(name, st); -#endif -} - - int fstat(int fd, void *st) -{ -#if HAVE___LXSTAT - return __fxstat(0, fd, st); -#else - if (smbw_fd(fd)) { - return smbw_fstat(fd, st); - } - return real_fstat(fd, st); -#endif -} - - - int unlink(char *name) -{ - if (smbw_path(name)) { - return smbw_unlink(name); - } - - return real_unlink(name); -} - - -#ifdef HAVE_UTIME - int utime(char *name,void *tvp) -{ - if (smbw_path(name)) { - return smbw_utime(name, tvp); - } - - return real_utime(name, tvp); -} -#endif - -#ifdef HAVE_UTIMES - int utimes(const char *name, const struct timeval *tvp) -{ - if (smbw_path(name)) { - return smbw_utimes(name, tvp); - } - - return real_utimes(name, tvp); -} -#endif - - int readlink(char *path, char *buf, size_t bufsize) -{ - if (smbw_path(path)) { - return smbw_readlink(path, buf, bufsize); - } - - return real_readlink(path, buf, bufsize); -} - - - int rename(char *oldname,char *newname) -{ - int p1, p2; - p1 = smbw_path(oldname); - p2 = smbw_path(newname); - if (p1 ^ p2) { - /* can't cross filesystem boundaries */ - errno = EXDEV; - return -1; - } - if (p1 && p2) { - return smbw_rename(oldname, newname); - } - - return real_rename(oldname, newname); -} - - int rmdir(char *name) -{ - if (smbw_path(name)) { - return smbw_rmdir(name); - } - - return real_rmdir(name); -} - - - int symlink(char *topath,char *frompath) -{ - int p1, p2; - p1 = smbw_path(topath); - p2 = smbw_path(frompath); - if (p1 || p2) { - /* can't handle symlinks */ - errno = EPERM; - return -1; - } - - return real_symlink(topath, frompath); -} - - int dup(int fd) -{ - if (smbw_fd(fd)) { - return smbw_dup(fd); - } - - return real_dup(fd); -} - - int dup2(int oldfd, int newfd) -{ - if (smbw_fd(newfd)) { - close(newfd); - } - - if (smbw_fd(oldfd)) { - return smbw_dup2(oldfd, newfd); - } - - return real_dup2(oldfd, newfd); -} - -#ifdef real_opendir - void *opendir(char *name) -{ - if (smbw_path(name)) { - return (void *)smbw_opendir(name); - } - - return (void *)real_opendir(name); -} -#endif - -#ifdef real_readdir - void *readdir(void *dir) -{ - if (smbw_dirp(dir)) { - return (void *)smbw_readdir(dir); - } - - return (void *)real_readdir(dir); -} -#endif - -#ifdef real_closedir - int closedir(void *dir) -{ - if (smbw_dirp(dir)) { - return smbw_closedir(dir); - } - - return real_closedir(dir); -} -#endif - -#ifdef real_telldir - off_t telldir(void *dir) -{ - if (smbw_dirp(dir)) { - return smbw_telldir(dir); - } - - return real_telldir(dir); -} -#endif - -#ifdef real_seekdir - int seekdir(void *dir, off_t offset) -{ - if (smbw_dirp(dir)) { - smbw_seekdir(dir, offset); - return 0; - } - - real_seekdir(dir, offset); - return 0; -} -#endif - - -#ifndef NO_ACL_WRAPPER - int acl(char *pathp, int cmd, int nentries, void *aclbufp) -{ - if (smbw_path(pathp)) { - return smbw_acl(pathp, cmd, nentries, aclbufp); - } - - return real_acl(pathp, cmd, nentries, aclbufp); -} -#endif - -#ifndef NO_FACL_WRAPPER - int facl(int fd, int cmd, int nentries, void *aclbufp) -{ - if (smbw_fd(fd)) { - return smbw_facl(fd, cmd, nentries, aclbufp); - } - - return real_facl(fd, cmd, nentries, aclbufp); -} -#endif - - int creat(char *path, mode_t mode) -{ - extern int creat_bits; - return open(path, creat_bits, mode); -} - -#ifdef HAVE_CREAT64 - int creat64(char *path, mode_t mode) -{ - extern int creat_bits; - return open64(path, creat_bits, mode); -} -#endif - -#ifdef HAVE_STAT64 - int stat64(char *name, void *st64) -{ - if (smbw_path(name)) { - double xx[32]; - int ret = stat(name, xx); - stat64_convert(xx, st64); - return ret; - } - return real_stat64(name, st64); -} - - int fstat64(int fd, void *st64) -{ - if (smbw_fd(fd)) { - double xx[32]; - int ret = fstat(fd, xx); - stat64_convert(xx, st64); - return ret; - } - return real_fstat64(fd, st64); -} - - int lstat64(char *name, void *st64) -{ - if (smbw_path(name)) { - double xx[32]; - int ret = lstat(name, xx); - stat64_convert(xx, st64); - return ret; - } - return real_lstat64(name, st64); -} -#endif - -#ifdef HAVE_LLSEEK - offset_t llseek(int fd, offset_t ofs, int whence) -{ - if (smbw_fd(fd)) { - return lseek(fd, ofs, whence); - } - return real_llseek(fd, ofs, whence); -} -#endif - -#ifdef HAVE_READDIR64 - void *readdir64(void *dir) -{ - if (smbw_dirp(dir)) { - static double xx[70]; - void *d; - d = (void *)readdir(dir); - if (!d) return NULL; - dirent64_convert(d, xx); - return xx; - } - return (void *)real_readdir64(dir); -} -#endif - - int fork(void) -{ - return smbw_fork(); -} - |