diff options
Diffstat (limited to '')
-rw-r--r-- | m4/mntctl.m4 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/m4/mntctl.m4 b/m4/mntctl.m4 new file mode 100644 index 0000000..9d0dde1 --- /dev/null +++ b/m4/mntctl.m4 @@ -0,0 +1,30 @@ +dnl ** +dnl ** AIX mntctl +dnl ** + +AC_DEFUN([DOVECOT_MNTCTL], [ + if test $ac_cv_header_sys_vmount_h = yes; then + AC_MSG_CHECKING([for reasonable mntctl buffer size]) + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include <stdio.h> + #include <stdlib.h> + #include <sys/vmount.h> + int main() { + int size,count; char *m; + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + if ((count=mntctl(MCTL_QUERY,sizeof(size),&size))!=0 || !(m=malloc(size)) || + (count=mntctl(MCTL_QUERY,size,m))<=0) exit(1); + fprintf(f, "%d\n",(size * (count + 5))/count & ~1); /* 5 mounts more */ + exit(0); + } + ]])],[ + size=`cat conftestval` + rm -f conftestval + AC_DEFINE_UNQUOTED(STATIC_MTAB_SIZE,$size, [reasonable mntctl buffer size]) + AC_MSG_RESULT($size) + ],[ + AC_MSG_RESULT(default) + ]) + fi +]) |