Browse Source

Checkpoint!

Douglas William Thrift 14 years ago
parent
commit
30fcdec8be
3 changed files with 1804 additions and 88 deletions
  1. 1767 63
      configure
  2. 20 4
      configure.ac
  3. 17 21
      dtpstree.cpp

+ 1767 - 63
configure

@@ -4704,6 +4704,8 @@ $as_echo "$as_me: error: You need libkvm" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
+
+
 { $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2" >&5
 $as_echo_n "checking for struct kinfo_proc2... " >&6; }
 if test "${ac_cv_type_struct_kinfo_proc2+set}" = set; then
@@ -4811,20 +4813,16 @@ fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_struct_kinfo_proc2" >&5
 $as_echo "$ac_cv_type_struct_kinfo_proc2" >&6; }
 if test $ac_cv_type_struct_kinfo_proc2 = yes; then
-
-cat >>confdefs.h <<_ACEOF
+  cat >>confdefs.h <<\_ACEOF
 #define HAVE_STRUCT_KINFO_PROC2 1
 _ACEOF
 
-break
-fi
-{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc" >&5
-$as_echo_n "checking for struct kinfo_proc... " >&6; }
-if test "${ac_cv_type_struct_kinfo_proc+set}" = set; then
+	{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2.p_pid" >&5
+$as_echo_n "checking for struct kinfo_proc2.p_pid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc2_p_pid+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_struct_kinfo_proc=no
-cat >conftest.$ac_ext <<_ACEOF
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4840,8 +4838,9 @@ $ac_includes_default
 int
 main ()
 {
-if (sizeof (struct kinfo_proc))
-       return 0;
+static struct kinfo_proc2 ac_aggr;
+if (ac_aggr.p_pid)
+return 0;
   ;
   return 0;
 }
@@ -4864,7 +4863,12 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_member_struct_kinfo_proc2_p_pid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4880,8 +4884,9 @@ $ac_includes_default
 int
 main ()
 {
-if (sizeof ((struct kinfo_proc)))
-	  return 0;
+static struct kinfo_proc2 ac_aggr;
+if (sizeof ac_aggr.p_pid)
+return 0;
   ;
   return 0;
 }
@@ -4904,38 +4909,146 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  :
+  ac_cv_member_struct_kinfo_proc2_p_pid=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_type_struct_kinfo_proc=yes
+	ac_cv_member_struct_kinfo_proc2_p_pid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc2_p_pid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc2_p_pid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc2_p_pid = yes; then
+  :
+else
+  # TODO
+			{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2.ki_pid" >&5
+$as_echo_n "checking for struct kinfo_proc2.ki_pid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc2_ki_pid+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (ac_aggr.ki_pid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_ki_pid=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (sizeof ac_aggr.ki_pid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_ki_pid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+	ac_cv_member_struct_kinfo_proc2_ki_pid=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_struct_kinfo_proc" >&5
-$as_echo "$ac_cv_type_struct_kinfo_proc" >&6; }
-if test $ac_cv_type_struct_kinfo_proc = yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_KINFO_PROC 1
-_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc2_ki_pid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc2_ki_pid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc2_ki_pid = yes; then
+  :
+else
+  # TODO
+				{ { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
-break
 fi
 
-{ $as_echo "$as_me:$LINENO: checking whether KERN_PROC_PROC is declared" >&5
-$as_echo_n "checking whether KERN_PROC_PROC is declared... " >&6; }
-if test "${ac_cv_have_decl_KERN_PROC_PROC+set}" = set; then
+	{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2.p_ppid" >&5
+$as_echo_n "checking for struct kinfo_proc2.p_ppid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc2_p_ppid+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -4944,14 +5057,19 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
 $ac_includes_default
+
+
 int
 main ()
 {
-#ifndef KERN_PROC_PROC
-  (void) KERN_PROC_PROC;
-#endif
-
+static struct kinfo_proc2 ac_aggr;
+if (ac_aggr.p_ppid)
+return 0;
   ;
   return 0;
 }
@@ -4974,35 +5092,74 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_KERN_PROC_PROC=yes
+  ac_cv_member_struct_kinfo_proc2_p_ppid=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_KERN_PROC_PROC=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_KERN_PROC_PROC" >&5
-$as_echo "$ac_cv_have_decl_KERN_PROC_PROC" >&6; }
-if test $ac_cv_have_decl_KERN_PROC_PROC = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_KERN_PROC_PROC 1
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
 
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_KERN_PROC_PROC 0
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (sizeof ac_aggr.p_ppid)
+return 0;
+  ;
+  return 0;
+}
 _ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_p_ppid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc2_p_ppid=no
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: checking whether KERN_PROC_ALL is declared" >&5
-$as_echo_n "checking whether KERN_PROC_ALL is declared... " >&6; }
-if test "${ac_cv_have_decl_KERN_PROC_ALL+set}" = set; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc2_p_ppid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc2_p_ppid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc2_p_ppid = yes; then
+  :
+else
+  # TODO
+			{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2.ki_ppid" >&5
+$as_echo_n "checking for struct kinfo_proc2.ki_ppid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc2_ki_ppid+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -5011,14 +5168,65 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
 $ac_includes_default
+
+
 int
 main ()
 {
-#ifndef KERN_PROC_ALL
-  (void) KERN_PROC_ALL;
-#endif
+static struct kinfo_proc2 ac_aggr;
+if (ac_aggr.ki_ppid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_ki_ppid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
 
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (sizeof ac_aggr.ki_ppid)
+return 0;
   ;
   return 0;
 }
@@ -5041,33 +5249,1529 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_KERN_PROC_ALL=yes
+  ac_cv_member_struct_kinfo_proc2_ki_ppid=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_KERN_PROC_ALL=no
+	ac_cv_member_struct_kinfo_proc2_ki_ppid=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_KERN_PROC_ALL" >&5
-$as_echo "$ac_cv_have_decl_KERN_PROC_ALL" >&6; }
-if test $ac_cv_have_decl_KERN_PROC_ALL = yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_KERN_PROC_ALL 1
-_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc2_ki_ppid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc2_ki_ppid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc2_ki_ppid = yes; then
+  :
+else
+  # TODO
+				{ { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
+fi
 
+	{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2.p_ruid" >&5
+$as_echo_n "checking for struct kinfo_proc2.p_ruid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc2_p_ruid+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_KERN_PROC_ALL 0
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
 
 
-fi
-
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (ac_aggr.p_ruid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_p_ruid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (sizeof ac_aggr.p_ruid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_p_ruid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc2_p_ruid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc2_p_ruid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc2_p_ruid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc2_p_ruid = yes; then
+  :
+else
+  # TODO
+			{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2.ki_ruid" >&5
+$as_echo_n "checking for struct kinfo_proc2.ki_ruid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc2_ki_ruid+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (ac_aggr.ki_ruid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_ki_ruid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (sizeof ac_aggr.ki_ruid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_ki_ruid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc2_ki_ruid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc2_ki_ruid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc2_ki_ruid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc2_ki_ruid = yes; then
+  :
+else
+  # TODO
+				{ { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+
+	{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2.p_comm" >&5
+$as_echo_n "checking for struct kinfo_proc2.p_comm... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc2_p_comm+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (ac_aggr.p_comm)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_p_comm=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (sizeof ac_aggr.p_comm)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_p_comm=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc2_p_comm=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc2_p_comm" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc2_p_comm" >&6; }
+if test $ac_cv_member_struct_kinfo_proc2_p_comm = yes; then
+  :
+else
+  # TODO
+			{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc2.ki_comm" >&5
+$as_echo_n "checking for struct kinfo_proc2.ki_comm... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc2_ki_comm+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (ac_aggr.ki_comm)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_ki_comm=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc2 ac_aggr;
+if (sizeof ac_aggr.ki_comm)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc2_ki_comm=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc2_ki_comm=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc2_ki_comm" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc2_ki_comm" >&6; }
+if test $ac_cv_member_struct_kinfo_proc2_ki_comm = yes; then
+  :
+else
+  # TODO
+				{ { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+
+
+
+else
+  { $as_echo "$as_me:$LINENO: checking for struct kinfo_proc" >&5
+$as_echo_n "checking for struct kinfo_proc... " >&6; }
+if test "${ac_cv_type_struct_kinfo_proc+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_type_struct_kinfo_proc=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+if (sizeof (struct kinfo_proc))
+       return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+if (sizeof ((struct kinfo_proc)))
+	  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_type_struct_kinfo_proc=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_struct_kinfo_proc" >&5
+$as_echo "$ac_cv_type_struct_kinfo_proc" >&6; }
+if test $ac_cv_type_struct_kinfo_proc = yes; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRUCT_KINFO_PROC 1
+_ACEOF
+
+		{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc.ki_pid" >&5
+$as_echo_n "checking for struct kinfo_proc.ki_pid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc_ki_pid+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (ac_aggr.ki_pid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_ki_pid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (sizeof ac_aggr.ki_pid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_ki_pid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc_ki_pid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc_ki_pid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc_ki_pid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc_ki_pid = yes; then
+  :
+else
+  # TODO
+			{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc.p_pid" >&5
+$as_echo_n "checking for struct kinfo_proc.p_pid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc_p_pid+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (ac_aggr.p_pid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_p_pid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (sizeof ac_aggr.p_pid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_p_pid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc_p_pid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc_p_pid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc_p_pid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc_p_pid = yes; then
+  :
+else
+  # TODO
+				{ { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+
+	{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc.ki_ppid" >&5
+$as_echo_n "checking for struct kinfo_proc.ki_ppid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc_ki_ppid+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (ac_aggr.ki_ppid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_ki_ppid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (sizeof ac_aggr.ki_ppid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_ki_ppid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc_ki_ppid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc_ki_ppid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc_ki_ppid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc_ki_ppid = yes; then
+  :
+else
+  # TODO
+			{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc.p_ppid" >&5
+$as_echo_n "checking for struct kinfo_proc.p_ppid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc_p_ppid+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (ac_aggr.p_ppid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_p_ppid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (sizeof ac_aggr.p_ppid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_p_ppid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc_p_ppid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc_p_ppid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc_p_ppid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc_p_ppid = yes; then
+  :
+else
+  # TODO
+				{ { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+
+	{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc.ki_ruid" >&5
+$as_echo_n "checking for struct kinfo_proc.ki_ruid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc_ki_ruid+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (ac_aggr.ki_ruid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_ki_ruid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (sizeof ac_aggr.ki_ruid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_ki_ruid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc_ki_ruid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc_ki_ruid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc_ki_ruid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc_ki_ruid = yes; then
+  :
+else
+  # TODO
+			{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc.p_ruid" >&5
+$as_echo_n "checking for struct kinfo_proc.p_ruid... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc_p_ruid+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (ac_aggr.p_ruid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_p_ruid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (sizeof ac_aggr.p_ruid)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_p_ruid=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc_p_ruid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc_p_ruid" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc_p_ruid" >&6; }
+if test $ac_cv_member_struct_kinfo_proc_p_ruid = yes; then
+  :
+else
+  # TODO
+				{ { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+
+	{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc.ki_comm" >&5
+$as_echo_n "checking for struct kinfo_proc.ki_comm... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc_ki_comm+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (ac_aggr.ki_comm)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_ki_comm=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (sizeof ac_aggr.ki_comm)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_ki_comm=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc_ki_comm=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc_ki_comm" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc_ki_comm" >&6; }
+if test $ac_cv_member_struct_kinfo_proc_ki_comm = yes; then
+  :
+else
+  # TODO
+			{ $as_echo "$as_me:$LINENO: checking for struct kinfo_proc.p_comm" >&5
+$as_echo_n "checking for struct kinfo_proc.p_comm... " >&6; }
+if test "${ac_cv_member_struct_kinfo_proc_p_comm+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (ac_aggr.p_comm)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_p_comm=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <kvm.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/user.h>
+$ac_includes_default
+
+
+int
+main ()
+{
+static struct kinfo_proc ac_aggr;
+if (sizeof ac_aggr.p_comm)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_member_struct_kinfo_proc_p_comm=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_member_struct_kinfo_proc_p_comm=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_kinfo_proc_p_comm" >&5
+$as_echo "$ac_cv_member_struct_kinfo_proc_p_comm" >&6; }
+if test $ac_cv_member_struct_kinfo_proc_p_comm = yes; then
+  :
+else
+  # TODO
+				{ { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+
+
+
+else
+  { { $as_echo "$as_me:$LINENO: error: You need libkvm" >&5
+$as_echo "$as_me: error: You need libkvm" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
 
 ac_config_files="$ac_config_files GNUmakefile"
 

+ 20 - 4
configure.ac

@@ -78,13 +78,29 @@ AS_CASE([$ac_cv_header_curses_h$ac_cv_header_ncurses_curses_h], [*yes*],
 AC_DEFUN([DT_MSG_KVM], [AC_MSG_ERROR([You need libkvm])])
 AC_CHECK_HEADER([kvm.h], [], [DT_MSG_KVM])
 AC_SEARCH_LIBS([kvm_openfiles], [kvm], [], [DT_MSG_KVM])
-AC_CHECK_TYPES([struct kinfo_proc2, struct kinfo_proc], [break], [],
-	[#include <kvm.h>
+AC_DEFUN([DT_INCLUDES_KVM], [#include <kvm.h>
 #include <sys/param.h>
 #include <sys/sysctl.h>
 #include <sys/user.h>
-AC_INCLUDES_DEFAULT]
+AC_INCLUDES_DEFAULT])
+AC_DEFUN([DT_CHECK_MEMBERS_KVM],
+	[m4_foreach_w([dt_member_suffix], [pid ppid ruid comm],
+		[AC_CHECK_MEMBER([struct ]$1[.]$2[_]dt_member_suffix, [], # TODO
+			[AC_CHECK_MEMBER([struct ]$1[.]$3[_]dt_member_suffix, [], # TODO
+				[DT_MSG_KVM], [DT_INCLUDES_KVM]
+			)], [DT_INCLUDES_KVM]
+		)]
+	)]
+)
+AC_CHECK_TYPE([struct kinfo_proc2],
+	[AC_DEFINE([HAVE_STRUCT_KINFO_PROC2])
+	DT_CHECK_MEMBERS_KVM([kinfo_proc2], [p], [ki])],
+	[AC_CHECK_TYPE([struct kinfo_proc],
+		[AC_DEFINE([HAVE_STRUCT_KINFO_PROC])
+		DT_CHECK_MEMBERS_KVM([kinfo_proc], [ki], [p])],
+		[DT_MSG_KVM], [DT_INCLUDES_KVM]
+	)], [DT_INCLUDES_KVM]
 )
-AC_CHECK_DECLS([KERN_PROC_PROC, KERN_PROC_ALL])
+dnl AC_CHECK_DECLS([KERN_PROC_PROC, KERN_PROC_ALL])
 AC_CONFIG_FILES([GNUmakefile])
 AC_OUTPUT

+ 17 - 21
dtpstree.cpp

@@ -87,10 +87,6 @@ typedef kinfo_proc Proc;
 
 const int Flags(O_RDONLY);
 
-#ifndef KERN_PROC_PROC
-#define KERN_PROC_PROC KERN_PROC_ALL
-#endif
-
 template <>
 inline kinfo_proc *getprocs(kvm_t *kd, int &count)
 {
@@ -102,45 +98,46 @@ inline char **getargv(kvm_t *kd, const kinfo_proc *proc)
 {
 	return kvm_getargv(kd, proc, 0);
 }
+#else
+typedef kinfo_proc2 Proc;
+
+const int Flags(KVM_NO_FILES);
 
 template <>
-inline pid_t pid(kinfo_proc *proc)
+inline kinfo_proc2 *getprocs(kvm_t *kd, int &count)
 {
-	return proc->ki_pid;
+	return kvm_getproc2(kd, KERN_PROC_ALL, 0, sizeof (kinfo_proc2), &count);
 }
 
 template <>
-inline pid_t ppid(kinfo_proc *proc)
+inline char **getargv(kvm_t *kd, const kinfo_proc2 *proc)
 {
-	return proc->ki_ppid;
+	return kvm_getargv2(kd, proc, 0);
 }
+#endif
 
 template <>
-inline uid_t ruid(kinfo_proc *proc)
+inline pid_t pid(kinfo_proc *proc)
 {
-	return proc->ki_ruid;
+	return proc->ki_pid;
 }
 
 template <>
-inline char *comm(kinfo_proc *proc)
+inline pid_t ppid(kinfo_proc *proc)
 {
-	return proc->ki_comm;
+	return proc->ki_ppid;
 }
-#else
-typedef kinfo_proc2 Proc;
-
-const int Flags(KVM_NO_FILES);
 
 template <>
-inline kinfo_proc2 *getprocs(kvm_t *kd, int &count)
+inline uid_t ruid(kinfo_proc *proc)
 {
-	return kvm_getproc2(kd, KERN_PROC_ALL, 0, sizeof (kinfo_proc2), &count);
+	return proc->ki_ruid;
 }
 
 template <>
-inline char **getargv(kvm_t *kd, const kinfo_proc2 *proc)
+inline char *comm(kinfo_proc *proc)
 {
-	return kvm_getargv2(kd, proc, 0);
+	return proc->ki_comm;
 }
 
 template <>
@@ -166,7 +163,6 @@ inline char *comm(kinfo_proc2 *proc)
 {
 	return proc->p_comm;
 }
-#endif
 
 }