summaryrefslogtreecommitdiffstats
path: root/src/H5public.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5public.h')
-rw-r--r--src/H5public.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/H5public.h b/src/H5public.h
index 8cbb25f..e455ed1f 100644
--- a/src/H5public.h
+++ b/src/H5public.h
@@ -99,6 +99,21 @@ typedef int herr_t;
typedef unsigned int hbool_t;
typedef int htri_t;
+/* Define the ssize_t type if it not is defined */
+#if H5_SIZEOF_SSIZE_T==0
+#if H5_SIZEOF_SIZE_T==H5_SIZEOF_INT
+typedef int ssize_t;
+#elif H5_SIZEOF_SIZE_T==H5_SIZEOF_LONG
+typedef long ssize_t;
+#elif H5_SIZEOF_SIZE_T==H5_SIZEOF_LONG_LONG
+typedef long long ssize_t;
+#elif H5_SIZEOF_SIZE_T==H5_SIZEOF___INT64
+typedef __int64 ssize_t;
+#else /* Can't find matching type for ssize_t */
+# error "nothing appropriate for ssize_t"
+#endif
+#endif
+
/*
* The sizes of file objects have their own types defined here. If large
* sizes are enabled then use a 64-bit data type, otherwise use the size of