summaryrefslogtreecommitdiff
path: root/source3/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
commit92b21b3e82d0c559ef41d40d13c3b790d14daa65 (patch)
tree000e379a0856c1741019105597544808c4af2d98 /source3/smbwrapper/wrapped.c
parent5d14f8932469f232960a255170a99a308a0ffcf3 (diff)
downloadsamba-92b21b3e82d0c559ef41d40d13c3b790d14daa65.tar.gz
samba-92b21b3e82d0c559ef41d40d13c3b790d14daa65.tar.bz2
samba-92b21b3e82d0c559ef41d40d13c3b790d14daa65.zip
- added pread pread64 pwrite pwrite64 and open64
- fixed utime() for null tbuf (This used to be commit 9047bf59b402de40e520bfc2afa1cbfad5508f72)
Diffstat (limited to 'source3/smbwrapper/wrapped.c')
-rw-r--r--source3/smbwrapper/wrapped.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/source3/smbwrapper/wrapped.c b/source3/smbwrapper/wrapped.c
index 422f3abbf5..025bbcc2db 100644
--- a/source3/smbwrapper/wrapped.c
+++ b/source3/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