structures that only apply on some platforms.
# endif
#endif
-/*
- * Type for statvfs structure.
- * Unfortunately, due to the make proto structure
- * we still need to define this as void * for platforms
- * that don't have either statvfs or statvfs64. JRA.
- */
-
-#ifndef SMB_STRUCT_STATVFS
-# if defined(STAT_STATVFS64)
-# define SMB_STRUCT_STATVFS struct statvfs64
-# elif defined(STAT_STATVFS)
-# define SMB_STRUCT_STATVFS struct statvfs
-# else
-# define SMB_STRUCT_STATVFS void *
-# endif
-#endif
-
/*
* Defines for 64 bit fcntl locks.
*/
int sys_stat(char *fname,SMB_STRUCT_STAT *sbuf);
int sys_fstat(int fd,SMB_STRUCT_STAT *sbuf);
int sys_lstat(char *fname,SMB_STRUCT_STAT *sbuf);
-int sys_statvfs( const char *path, SMB_STRUCT_STATVFS *fsd);
int sys_ftruncate(int fd, SMB_OFF_T offset);
SMB_OFF_T sys_lseek(int fd, SMB_OFF_T offset, int whence);
int sys_fseek(FILE *fp, SMB_OFF_T offset, int whence);
#endif
}
-/*******************************************************************
- An statvfs() wrapper that will deal with 64 bit filesizes.
-********************************************************************/
-
-int sys_statvfs( const char *path, SMB_STRUCT_STATVFS *fsd)
-{
-#if defined(STAT_STATVFS64)
- return statvfs64(path, fsd);
-#elif defined(STAT_STATVFS)
- return statvfs(path, fsd);
-#else
- return -1;
-#endif
-}
-
/*******************************************************************
An ftruncate() wrapper that will deal with 64 bit filesizes.
********************************************************************/
# define CONVERT_BLOCKS(B) \
adjust_blocks ((SMB_BIG_UINT)(B), fsd.f_frsize ? (SMB_BIG_UINT)fsd.f_frsize : (SMB_BIG_UINT)fsd.f_bsize, (SMB_BIG_UINT)512)
- SMB_STRUCT_STATVFS fsd;
+#ifdef STAT_STATVFS64
+ struct statvfs64 fsd;
+ if (statvfs64(path, &fsd) < 0) return -1;
+#else
+ struct statvfs fsd;
+ if (statvfs(path, &fsd) < 0) return -1;
+#endif
- if (sys_statvfs (path, &fsd) < 0)
- return -1;
/* f_frsize isn't guaranteed to be supported. */
#endif /* STAT_STATVFS */