summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/configure.in2
-rw-r--r--source3/include/includes.h10
2 files changed, 12 insertions, 0 deletions
diff --git a/source3/configure.in b/source3/configure.in
index 44374b989c..f980911666 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -2778,6 +2778,8 @@ if test x"$samba_cv_HAVE_STAT_ST_BLOCKS" = x"yes"; then
AC_DEFINE(HAVE_STAT_ST_BLOCKS,1,[Whether the stat struct has a st_block property])
fi
+AC_CHECK_TYPES([blksize_t, blkcnt_t], [], [], [[#include <sys/stat.h>]])
+
AC_CACHE_CHECK([for st_blksize in struct stat],samba_cv_HAVE_STAT_ST_BLKSIZE,[
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/stat.h>
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 0d66c1cd6b..7bb72be692 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -431,6 +431,16 @@ typedef uint64_t br_off;
#define IVAL_TO_SMB_OFF_T(buf,off) ((SMB_OFF_T)(( ((uint32)(IVAL((buf),(off)))) & 0xFFFFFFFF )))
#endif
+#ifndef HAVE_BLKSIZE_T
+/* This is mainly for HP/UX which defines st_blksize as long */
+typedef blksize_t long;
+#endif
+
+#ifndef HAVE_BLKCNT_T
+/* This is mainly for HP/UX which doesn't have blkcnt_t */
+typedef blkcnt_t long;
+#endif
+
/*
* Type for stat structure.
*/