From 3a8232644e04a4cfdcbe2061f0556b78b4045191 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 4 Oct 1998 14:02:50 +0000 Subject: started basic support for solaris 2.5 in smbwrapper. (This used to be commit e5c7cabae4826bde819b94a48bc4674dcd69da21) --- source3/smbwrapper/wrapped.c | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'source3/smbwrapper/wrapped.c') diff --git a/source3/smbwrapper/wrapped.c b/source3/smbwrapper/wrapped.c index 0ee7341e3b..885fd4d481 100644 --- a/source3/smbwrapper/wrapped.c +++ b/source3/smbwrapper/wrapped.c @@ -94,7 +94,7 @@ __asm__(".globl __fcntl; __fcntl = fcntl"); __asm__(".globl __getdents; __getdents = getdents"); #endif - int getdents(unsigned int fd, struct dirent *dirp, unsigned int count) + int getdents(int fd, struct dirent *dirp, unsigned int count) { if (smbw_fd(fd)) { return smbw_getdents(fd, dirp, count); @@ -188,6 +188,7 @@ __asm__(".globl __write; __write = write"); } +#ifdef LINUX int __fxstat(int vers, int fd, struct stat *st) { struct kernel_stat kbuf; @@ -249,6 +250,7 @@ __asm__(".globl __write; __write = write"); return -1; } } +#endif char *getcwd(char *buf, size_t size) @@ -257,7 +259,7 @@ __asm__(".globl __write; __write = write"); } - +#ifdef LINUX int __lxstat(int vers, const char *name, struct stat *st) { struct kernel_stat kbuf; @@ -319,7 +321,7 @@ __asm__(".globl __write; __write = write"); return -1; } } - +#endif int mkdir(const char *name, mode_t mode) @@ -343,6 +345,7 @@ __asm__(".globl __write; __write = write"); } +#ifdef LINUX int __xstat(int vers, const char *name, struct stat *st) { struct kernel_stat kbuf; @@ -404,10 +407,42 @@ __asm__(".globl __write; __write = write"); return -1; } } +#endif int stat(const char *name, struct stat *st) { +#if HAVE___XSTAT return __xstat(_STAT_VER, name, st); +#else + if (smbw_path(name)) { + return smbw_stat(name, st); + } + return real_stat(name, st); +#endif +} + + int lstat(const char *name, struct stat *st) +{ +#if HAVE___LXSTAT + return __lxstat(_STAT_VER, name, st); +#else + if (smbw_path(name)) { + return smbw_stat(name, st); + } + return real_lstat(name, st); +#endif +} + + int fstat(int fd, struct stat *st) +{ +#if HAVE___LXSTAT + return __fxstat(_STAT_VER, fd, st); +#else + if (smbw_fd(fd)) { + return smbw_fstat(fd, st); + } + return real_fstat(fd, st); +#endif } -- cgit