+# check userland size_t type
+AC_DEFUN([LIBCFS_SIZE_T_LONG],
+[AC_MSG_CHECKING([size_t is unsigned long type])
+tmp_flags="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_COMPILE_IFELSE([
+ #include <linux/types.h>
+ int main(void) {
+ unsigned long *data1;
+ size_t *data2;
+
+ data1 = data2;
+ return 0;
+ }
+],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_SIZE_T_LONG, 1,
+ [size_t is long type])
+],[
+ AC_MSG_RESULT([no])
+])
+CFLAGS="$tmp_flags"
+])
+
+AC_DEFUN([LIBCFS_SSIZE_T_LONG],
+[AC_MSG_CHECKING([ssize_t is signed long type])
+tmp_flags="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_COMPILE_IFELSE([
+ #include <linux/types.h>
+ int main(void) {
+ long *data1;
+ ssize_t *data2;
+
+ data1 = data2;
+ return 0;
+ }
+],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_SSIZE_T_LONG, 1,
+ [ssize_t is long type])
+],[
+ AC_MSG_RESULT([no])
+])
+CFLAGS="$tmp_flags"
+])
+
+