summaryrefslogtreecommitdiffstats
path: root/source/smbwrapper/wrapped.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-10-05 02:31:39 +0000
committerAndrew Tridgell <tridge@samba.org>1998-10-05 02:31:39 +0000
commit9047bf59b402de40e520bfc2afa1cbfad5508f72 (patch)
treeaa6a87bb791c0a323a37e077d625a1ffe83810df /source/smbwrapper/wrapped.c
parent43ec91ac1fbf22f9a0150e1eadec5709a7d21050 (diff)
downloadsamba-9047bf59b402de40e520bfc2afa1cbfad5508f72.tar.gz
samba-9047bf59b402de40e520bfc2afa1cbfad5508f72.tar.xz
samba-9047bf59b402de40e520bfc2afa1cbfad5508f72.zip
- added pread pread64 pwrite pwrite64 and open64
- fixed utime() for null tbuf
Diffstat (limited to 'source/smbwrapper/wrapped.c')
-rw-r--r--source/smbwrapper/wrapped.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/source/smbwrapper/wrapped.c b/source/smbwrapper/wrapped.c
index 422f3abbf52..025bbcc2db8 100644
--- a/source/smbwrapper/wrapped.c
+++ b/source/smbwrapper/wrapped.c
@@ -37,6 +37,61 @@ __asm__(".globl __open; __open = open");
return real_open(name, flags, mode);
}
+#ifdef HAVE_OPEN64
+ int open64(const char *name, int flags, mode_t mode)
+{
+ if (smbw_path(name)) {
+ return smbw_open(name, flags, mode);
+ }
+
+ return real_open64(name, flags, mode);
+}
+#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
+
+#ifdef HAVE_PREAD64
+ 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
+
+#ifdef HAVE_PWRITE64
+ 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
+
#ifdef HAVE___CHDIR
__asm__(".globl __chdir; __chdir = chdir");
@@ -628,6 +683,11 @@ __asm__(".globl _write; _write = write");
{
return open(path, O_WRONLY|O_CREAT|O_TRUNC, mode);
}
+
+ int creat64(const char *path, mode_t mode)
+{
+ return open64(path, O_WRONLY|O_CREAT|O_TRUNC, mode);
+}
#endif
#ifdef HAVE_STAT64