summaryrefslogtreecommitdiffstats
path: root/m4/mntctl.m4
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:51:24 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:51:24 +0000
commitf7548d6d28c313cf80e6f3ef89aed16a19815df1 (patch)
treea3f6f2a3f247293bee59ecd28e8cd8ceb6ca064a /m4/mntctl.m4
parentInitial commit. (diff)
downloaddovecot-f7548d6d28c313cf80e6f3ef89aed16a19815df1.tar.xz
dovecot-f7548d6d28c313cf80e6f3ef89aed16a19815df1.zip
Adding upstream version 1:2.3.19.1+dfsg1.upstream/1%2.3.19.1+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'm4/mntctl.m4')
-rw-r--r--m4/mntctl.m430
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
+])