diff options
author | Jeremy Allison <jra@samba.org> | 1999-02-04 21:29:18 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1999-02-04 21:29:18 +0000 |
commit | 6fe4790b6931fe974755f59405da617c1130359f (patch) | |
tree | beb3bc65551296118e9a35b2fc9cfb4494fb7ea0 /source/lib | |
parent | 7b05d1df517b67897ec459481aaae8dc6b9e94ae (diff) | |
download | samba-6fe4790b6931fe974755f59405da617c1130359f.tar.gz samba-6fe4790b6931fe974755f59405da617c1130359f.tar.xz samba-6fe4790b6931fe974755f59405da617c1130359f.zip |
Fixes for HPUX.
I have added a new define for configure - HAVE_EXPLICIT_LARGEFILE_SUPPORT.
This is tested for at the end of configure by the following check :
"As a gating factor for large file support, in order to
use <4GB files we must have the following minimal support
available.
long long, a 64 bit off_t or off64_t, a 64 bit ino_t or
ino64_t. If we don't have all of these then disable large
file support."
I have to do this as HPUX will detect the open64 etc.
functions in libc but *THEY DON'T WORK* before HPUX11.x.
The definitions in include/includes.h that set up large
file defines, and the calls in lib/system.c that use the explicit
large file functions are now depended on HAVE_EXPLICIT_LARGEFILE_SUPPORT
also being defined.
include/rpc_lsa.h: Upped number of groups to 96 as a temporary
measure.
Jeremy.
Diffstat (limited to 'source/lib')
-rw-r--r-- | source/lib/system.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/source/lib/system.c b/source/lib/system.c index a42e80a1980..9669cdf0c0a 100644 --- a/source/lib/system.c +++ b/source/lib/system.c @@ -145,7 +145,7 @@ A stat() wrapper that will deal with 64 bit filesizes. int sys_stat(const char *fname,SMB_STRUCT_STAT *sbuf) { -#if defined(HAVE_OFF64_T) && defined(HAVE_STAT64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_STAT64) return stat64(fname, sbuf); #else return stat(fname, sbuf); @@ -158,7 +158,7 @@ int sys_stat(const char *fname,SMB_STRUCT_STAT *sbuf) int sys_fstat(int fd,SMB_STRUCT_STAT *sbuf) { -#if defined(HAVE_OFF64_T) && defined(HAVE_FSTAT64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_FSTAT64) return fstat64(fd, sbuf); #else return fstat(fd, sbuf); @@ -171,7 +171,7 @@ int sys_fstat(int fd,SMB_STRUCT_STAT *sbuf) int sys_lstat(const char *fname,SMB_STRUCT_STAT *sbuf) { -#if defined(HAVE_OFF64_T) && defined(HAVE_LSTAT64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_LSTAT64) return lstat64(fname, sbuf); #else return lstat(fname, sbuf); @@ -184,7 +184,7 @@ int sys_lstat(const char *fname,SMB_STRUCT_STAT *sbuf) int sys_ftruncate(int fd, SMB_OFF_T offset) { -#if defined(HAVE_OFF64_T) && defined(HAVE_FTRUNCATE64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_FTRUNCATE64) return ftruncate64(fd, offset); #else return ftruncate(fd, offset); @@ -197,7 +197,7 @@ int sys_ftruncate(int fd, SMB_OFF_T offset) SMB_OFF_T sys_lseek(int fd, SMB_OFF_T offset, int whence) { -#if defined(HAVE_OFF64_T) && defined(HAVE_LSEEK64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_LSEEK64) return lseek64(fd, offset, whence); #else return lseek(fd, offset, whence); @@ -210,9 +210,9 @@ SMB_OFF_T sys_lseek(int fd, SMB_OFF_T offset, int whence) int sys_fseek(FILE *fp, SMB_OFF_T offset, int whence) { -#if defined(LARGE_SMB_OFF_T) && defined(HAVE_FSEEK64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(LARGE_SMB_OFF_T) && defined(HAVE_FSEEK64) return fseek64(fp, offset, whence); -#elif defined(LARGE_SMB_OFF_T) && defined(HAVE_FSEEKO64) +#elif defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(LARGE_SMB_OFF_T) && defined(HAVE_FSEEKO64) return fseeko64(fp, offset, whence); #else return fseek(fp, offset, whence); @@ -225,9 +225,9 @@ int sys_fseek(FILE *fp, SMB_OFF_T offset, int whence) SMB_OFF_T sys_ftell(FILE *fp) { -#if defined(LARGE_SMB_OFF_T) && defined(HAVE_FTELL64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(LARGE_SMB_OFF_T) && defined(HAVE_FTELL64) return (SMB_OFF_T)ftell64(fp); -#elif defined(LARGE_SMB_OFF_T) && defined(HAVE_FTELLO64) +#elif defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(LARGE_SMB_OFF_T) && defined(HAVE_FTELLO64) return (SMB_OFF_T)ftello64(fp); #else return (SMB_OFF_T)ftell(fp); @@ -240,7 +240,7 @@ SMB_OFF_T sys_ftell(FILE *fp) int sys_creat(const char *path, mode_t mode) { -#if defined(HAVE_CREAT64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_CREAT64) return creat64(path, mode); #else /* @@ -257,7 +257,7 @@ int sys_creat(const char *path, mode_t mode) int sys_open(const char *path, int oflag, mode_t mode) { -#if defined(HAVE_OPEN64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OPEN64) return open64(path, oflag, mode); #else return open(path, oflag, mode); @@ -270,7 +270,7 @@ int sys_open(const char *path, int oflag, mode_t mode) FILE *sys_fopen(const char *path, const char *type) { -#if defined(HAVE_FOPEN64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_FOPEN64) return fopen64(path, type); #else return fopen(path, type); @@ -285,7 +285,7 @@ FILE *sys_fopen(const char *path, const char *type) void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, SMB_OFF_T offset) { -#if defined(LARGE_SMB_OFF_T) && defined(HAVE_MMAP64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(LARGE_SMB_OFF_T) && defined(HAVE_MMAP64) return mmap64(addr, len, prot, flags, fd, offset); #else return mmap(addr, len, prot, flags, fd, offset); @@ -300,7 +300,7 @@ void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, SMB_OFF_T of SMB_STRUCT_DIRENT *sys_readdir(DIR *dirp) { -#if defined(HAVE_READDIR64) +#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_READDIR64) return readdir64(dirp); #else return readdir(dirp); |