diff options
Diffstat (limited to 'source4/smbwrapper/realcalls.h')
-rw-r--r-- | source4/smbwrapper/realcalls.h | 263 |
1 files changed, 263 insertions, 0 deletions
diff --git a/source4/smbwrapper/realcalls.h b/source4/smbwrapper/realcalls.h new file mode 100644 index 0000000000..6c230dba05 --- /dev/null +++ b/source4/smbwrapper/realcalls.h @@ -0,0 +1,263 @@ +/* + Unix SMB/CIFS implementation. + defintions of syscall entries + 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. +*/ + +#if HAVE_SYS_SYSCALL_H +#include <sys/syscall.h> +#elif HAVE_SYSCALL_H +#include <syscall.h> +#endif + +#ifdef IRIX +/* amazingly, IRIX gets its own syscall numbers wrong! */ +#ifdef SYSVoffset +#if (SYSVoffset == 1) +#undef SYSVoffset +#define SYSVoffset 1000 +#endif +#endif +#endif + +/* this file is partly derived from zlibc by Alain Knaff */ + +#define real_access(fn, mode) (syscall(SYS_access, (fn), (mode))) +#define real_chdir(fn) (syscall(SYS_chdir, (fn))) +#define real_chmod(fn, mode) (syscall(SYS_chmod,(fn), (mode))) +#define real_chown(fn, owner, group) (syscall(SYS_chown,(fn),(owner),(group))) + +#ifdef SYS_getdents +#define real_getdents(fd, dirp, count) (syscall(SYS_getdents, (fd), (dirp), (count))) +#endif + +#define real_link(fn1, fn2) (syscall(SYS_link, (fn1), (fn2))) + +#define real_open(fn,flags,mode) (syscall(SYS_open, (fn), (flags), (mode))) + +#ifdef SYS_open64 +#define real_open64(fn,flags,mode) (syscall(SYS_open64, (fn), (flags), (mode))) +#elif HAVE__OPEN64 +#define real_open64(fn,flags,mode) (_open64(fn,flags,mode)) +#define NO_OPEN64_ALIAS +#elif HAVE___OPEN64 +#define real_open64(fn,flags,mode) (__open64(fn,flags,mode)) +#define NO_OPEN64_ALIAS +#endif + +#ifdef HAVE__FORK +#define real_fork() (_fork()) +#elif HAVE___FORK +#define real_fork() (__fork()) +#elif SYS_fork +#define real_fork() (syscall(SYS_fork)) +#endif + +#ifdef HAVE__OPENDIR +#define real_opendir(fn) (_opendir(fn)) +#elif SYS_opendir +#define real_opendir(fn) (syscall(SYS_opendir,(fn))) +#elif HAVE___OPENDIR +#define real_opendir(fn) (__opendir(fn)) +#endif + +#ifdef HAVE__READDIR +#define real_readdir(d) (_readdir(d)) +#elif HAVE___READDIR +#define real_readdir(d) (__readdir(d)) +#elif SYS_readdir +#define real_readdir(d) (syscall(SYS_readdir,(d))) +#endif + +#ifdef HAVE__CLOSEDIR +#define real_closedir(d) (_closedir(d)) +#elif SYS_closedir +#define real_closedir(d) (syscall(SYS_closedir,(d))) +#elif HAVE___CLOSEDIR +#define real_closedir(d) (__closedir(d)) +#endif + +#ifdef HAVE__SEEKDIR +#define real_seekdir(d,l) (_seekdir(d,l)) +#elif SYS_seekdir +#define real_seekdir(d,l) (syscall(SYS_seekdir,(d),(l))) +#elif HAVE___SEEKDIR +#define real_seekdir(d,l) (__seekdir(d,l)) +#else +#define NO_SEEKDIR_WRAPPER +#endif + +#ifdef HAVE__TELLDIR +#define real_telldir(d) (_telldir(d)) +#elif SYS_telldir +#define real_telldir(d) (syscall(SYS_telldir,(d))) +#elif HAVE___TELLDIR +#define real_telldir(d) (__telldir(d)) +#endif + +#ifdef HAVE__DUP +#define real_dup(d) (_dup(d)) +#elif SYS_dup +#define real_dup(d) (syscall(SYS_dup,(d))) +#elif HAVE___DUP +#define real_dup(d) (__dup(d)) +#endif + +#ifdef HAVE__DUP2 +#define real_dup2(d1,d2) (_dup2(d1,d2)) +#elif SYS_dup2 +#define real_dup2(d1,d2) (syscall(SYS_dup2,(d1),(d2))) +#elif HAVE___DUP2 +#define real_dup2(d1,d2) (__dup2(d1,d2)) +#endif + +#ifdef HAVE__GETCWD +#define real_getcwd(b,s) ((char *)_getcwd(b,s)) +#elif SYS_getcwd +#define real_getcwd(b,s) ((char *)syscall(SYS_getcwd,(b),(s))) +#elif HAVE___GETCWD +#define real_getcwd(b,s) ((char *)__getcwd(b,s)) +#endif + +#ifdef HAVE__STAT +#define real_stat(fn,st) (_stat(fn,st)) +#elif SYS_stat +#define real_stat(fn,st) (syscall(SYS_stat,(fn),(st))) +#elif HAVE___STAT +#define real_stat(fn,st) (__stat(fn,st)) +#endif + +#ifdef HAVE__LSTAT +#define real_lstat(fn,st) (_lstat(fn,st)) +#elif SYS_lstat +#define real_lstat(fn,st) (syscall(SYS_lstat,(fn),(st))) +#elif HAVE___LSTAT +#define real_lstat(fn,st) (__lstat(fn,st)) +#endif + +#ifdef HAVE__FSTAT +#define real_fstat(fd,st) (_fstat(fd,st)) +#elif SYS_fstat +#define real_fstat(fd,st) (syscall(SYS_fstat,(fd),(st))) +#elif HAVE___FSTAT +#define real_fstat(fd,st) (__fstat(fd,st)) +#endif + +#if defined(HAVE_SYS_ACL_H) && defined(HAVE__ACL) +#define real_acl(fn,cmd,n,buf) (_acl(fn,cmd,n,buf)) +#elif SYS_acl +#define real_acl(fn,cmd,n,buf) (syscall(SYS_acl,(fn),(cmd),(n),(buf))) +#elif HAVE___ACL +#define real_acl(fn,cmd,n,buf) (__acl(fn,cmd,n,buf)) +#else +#define NO_ACL_WRAPPER +#endif + +#ifdef HAVE__FACL +#define real_facl(fd,cmd,n,buf) (_facl(fd,cmd,n,buf)) +#elif SYS_facl +#define real_facl(fd,cmd,n,buf) (syscall(SYS_facl,(fd),(cmd),(n),(buf))) +#elif HAVE___FACL +#define real_facl(fd,cmd,n,buf) (__facl(fd,cmd,n,buf)) +#else +#define NO_FACL_WRAPPER +#endif + + +#ifdef HAVE__STAT64 +#define real_stat64(fn,st) (_stat64(fn,st)) +#elif HAVE___STAT64 +#define real_stat64(fn,st) (__stat64(fn,st)) +#endif + +#ifdef HAVE__LSTAT64 +#define real_lstat64(fn,st) (_lstat64(fn,st)) +#elif HAVE___LSTAT64 +#define real_lstat64(fn,st) (__lstat64(fn,st)) +#endif + +#ifdef HAVE__FSTAT64 +#define real_fstat64(fd,st) (_fstat64(fd,st)) +#elif HAVE___FSTAT64 +#define real_fstat64(fd,st) (__fstat64(fd,st)) +#endif + +#ifdef HAVE__READDIR64 +#define real_readdir64(d) (_readdir64(d)) +#elif HAVE___READDIR64 +#define real_readdir64(d) (__readdir64(d)) +#endif + +#ifdef HAVE__LLSEEK +#define real_llseek(fd,ofs,whence) (_llseek(fd,ofs,whence)) +#elif HAVE___LLSEEK +#define real_llseek(fd,ofs,whence) (__llseek(fd,ofs,whence)) +#elif HAVE___SYS_LLSEEK +#define real_llseek(fd,ofs,whence) (__sys_llseek(fd,ofs,whence)) +#endif + + +#ifdef HAVE__PREAD +#define real_pread(fd,buf,size,ofs) (_pread(fd,buf,size,ofs)) +#elif HAVE___PREAD +#define real_pread(fd,buf,size,ofs) (__pread(fd,buf,size,ofs)) +#endif + +#ifdef HAVE__PREAD64 +#define real_pread64(fd,buf,size,ofs) (_pread64(fd,buf,size,ofs)) +#elif HAVE___PREAD64 +#define real_pread64(fd,buf,size,ofs) (__pread64(fd,buf,size,ofs)) +#endif + +#ifdef HAVE__PWRITE +#define real_pwrite(fd,buf,size,ofs) (_pwrite(fd,buf,size,ofs)) +#elif HAVE___PWRITE +#define real_pwrite(fd,buf,size,ofs) (__pwrite(fd,buf,size,ofs)) +#endif + +#ifdef HAVE__PWRITE64 +#define real_pwrite64(fd,buf,size,ofs) (_pwrite64(fd,buf,size,ofs)) +#elif HAVE___PWRITE64 +#define real_pwrite64(fd,buf,size,ofs) (__pwrite64(fd,buf,size,ofs)) +#endif + + +#define real_readlink(fn,buf,len) (syscall(SYS_readlink, (fn), (buf), (len))) +#define real_rename(fn1, fn2) (syscall(SYS_rename, (fn1), (fn2))) +#define real_symlink(fn1, fn2) (syscall(SYS_symlink, (fn1), (fn2))) +#define real_read(fd, buf, count ) (syscall(SYS_read, (fd), (buf), (count))) +#define real_lseek(fd, offset, whence) (syscall(SYS_lseek, (fd), (offset), (whence))) +#define real_write(fd, buf, count ) (syscall(SYS_write, (fd), (buf), (count))) +#define real_close(fd) (syscall(SYS_close, (fd))) +#define real_fchdir(fd) (syscall(SYS_fchdir, (fd))) +#define real_fcntl(fd,cmd,arg) (syscall(SYS_fcntl, (fd), (cmd), (arg))) +#define real_symlink(fn1, fn2) (syscall(SYS_symlink, (fn1), (fn2))) +#define real_unlink(fn) (syscall(SYS_unlink, (fn))) +#define real_rmdir(fn) (syscall(SYS_rmdir, (fn))) +#define real_mkdir(fn, mode) (syscall(SYS_mkdir, (fn), (mode))) + +#ifdef SYS_utime +#define real_utime(fn, buf) (syscall(SYS_utime, (fn), (buf))) +#else +#define REPLACE_UTIME 1 +#endif + +#ifdef SYS_utimes +#define real_utimes(fn, buf) (syscall(SYS_utimes, (fn), (buf))) +#else +#define REPLACE_UTIMES 1 +#endif |