File: mntctl.m4

package info (click to toggle)
dovecot 1%3A2.4.1%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 46,224 kB
  • sloc: ansic: 596,204; makefile: 7,825; sh: 6,005; cpp: 1,866; perl: 487; yacc: 412; lex: 320; python: 253; xml: 232
file content (29 lines) | stat: -rw-r--r-- 865 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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_PROGRAM([[
      #include <stdio.h>
      #include <stdlib.h>
      #include <sys/vmount.h>
    ]], [[
        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
])